/* KUBIVO plush layer (5 Oct 2026). Loaded after v2.css on kubivo.com and kubivo.ru.
   Ilya: buttons "very old school, we need it more playful, more modern, more 3d, more like this logo";
   "use more the white"; the plush logo's colours everywhere. So: the plush wordmark palette on white,
   puffy fabric buttons with a soft highlight and a coloured soft shadow, and no black outlines or
   offset shadows anywhere. Remove this file from the enqueue to roll back. */

:root{
  --k-canvas:#FFFFFF; --k-cream:#F5F6F8; --k-clay:#ECEEF1; --k-line:#E6E4E1;
  --k-teal:#14A0C6; --k-teal-d:#0C7C9C; --k-teal-l:#4CC3E4;
  --k-pink:#D81B66; --k-pink-d:#A90F4B; --k-pink-l:#F24B8B;
  --k-lime:#A6C02A; --k-lime-d:#7C9017; --k-lime-l:#C8DE52;
  --k-grey:#D9D4CE; --k-beige:#E6DACB;
  --k-blue:var(--k-teal); --k-sun:var(--k-lime);
  --k-ink:#1B1F27; --k-text:#3D434D;
  --k-soft:0 22px 44px -22px rgba(27,31,39,.30),0 3px 8px rgba(27,31,39,.06);
  --k-soft-lg:0 34px 70px -30px rgba(27,31,39,.34),0 6px 16px rgba(27,31,39,.06);
  --kv-teal:var(--k-teal); --kv-teal-d:var(--k-teal-d);
}
body,.k2,.whb-general-header{background-color:#fff!important}
.k-canvas{background:#fff}
.k-cream{background:var(--k-cream)}
.k-pinkbg{background:radial-gradient(120% 140% at 15% 0%,#F24B8B 0%,#D81B66 46%,#B5124F 100%)}

/* ---------- soften: no ink outlines, no offset shadows ---------- */
.k-eyebrow,.k-chip,.k-swatches,.k-ben,.k-stack,.k-color,.k-color img,.k-step,.k-dev div,.k-faq details,
.kv-page .kv-eyebrow,.kv-pagehead,.kv-page .kv-card,.kv-page .kv-build,.kv-page .kv-wl,.kv-faq details,.kv-page .kv-lineup,
.kv-page .kv-split__media img{border-color:rgba(27,31,39,.07)!important}
.k-ben,.k-stack,.k-step,.k-dev div,.k-color,.kv-page .kv-card,.kv-page .kv-wl,.kv-page .kv-split__media img,.k-faq details[open]{box-shadow:var(--k-soft)!important}
.k-color:hover{box-shadow:var(--k-soft-lg)!important;transform:translateY(-4px)}
.k-faq summary::after{border-color:rgba(27,31,39,.18)!important}
.k-light .k-form input,.k-light .k-form select,.k-light .k-form textarea,
.kv-page .kv-form input,.kv-page .kv-form select,.kv-page .kv-form textarea{border-color:rgba(27,31,39,.16)!important;box-shadow:inset 0 2px 4px rgba(27,31,39,.05)}
.k-eyebrow,.k-chip,.kv-page .kv-eyebrow{background:#fff;box-shadow:0 6px 16px -8px rgba(27,31,39,.25),inset 0 -2px 0 rgba(27,31,39,.05)}
.k-eyebrow i{background:var(--k-pink);box-shadow:0 0 0 3px rgba(216,27,102,.18)}
.k-hl::after{background:var(--k-lime-l)!important;opacity:.85}
.k-pinkbg .k-hl::after,.k-ink .k-hl::after{background:var(--k-lime)!important}

/* ---------- plush buttons: puffy fabric pillows like the plush logo ---------- */
.k2 .k-btn,.kv-btn,.kv-page a.kv-btn,.kv-page .kv-btn,.whb-header .btn,.single_add_to_cart_button,.woocommerce .button.alt,
.woocommerce a.checkout-button,.woocommerce #place_order,.wd-wtl-form .button,.wd-wtl-form button,.single-product .wd-wtl-form [type=submit],.k-tag{
  --f:var(--k-pink); --fh:var(--k-pink-l); --fl:var(--k-pink-d); --glow:rgba(216,27,102,.45); --tx:#fff;
  position:relative; border:0!important; border-radius:999px!important; color:var(--tx)!important;
  background-color:var(--f)!important;
  background-image:url(plush-weave.webp),radial-gradient(130% 120% at 50% 0%,var(--fh) 0%,var(--f) 52%,var(--fl) 100%)!important;
  background-size:160px 160px,100% 100%!important; background-blend-mode:soft-light,normal!important;
  box-shadow:inset 0 3px 2px rgba(255,255,255,.42),inset 0 -7px 12px rgba(0,0,0,.16),inset 0 0 0 1px rgba(255,255,255,.08),
             0 12px 22px -8px var(--glow),0 3px 6px rgba(27,31,39,.12)!important;
  text-shadow:0 1px 1px rgba(0,0,0,.18);
  transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s,filter .22s!important;
  transform:translateZ(0);
}
.k2 .k-btn{padding:19px 32px 21px!important;font:800 17px/1 var(--k-body)!important;letter-spacing:.01em}
.k2 .k-btn:hover,.kv-btn:hover,.whb-header .btn:hover,.single_add_to_cart_button:hover,.woocommerce .button.alt:hover,
.woocommerce a.checkout-button:hover,.woocommerce #place_order:hover,.k-tag:hover{
  transform:translateY(-3px) scale(1.025)!important; filter:saturate(1.08) brightness(1.03);
  box-shadow:inset 0 3px 2px rgba(255,255,255,.45),inset 0 -7px 12px rgba(0,0,0,.14),0 18px 30px -10px var(--glow),0 4px 8px rgba(27,31,39,.12)!important}
.k2 .k-btn:active,.kv-btn:active,.whb-header .btn:active,.single_add_to_cart_button:active,.woocommerce .button.alt:active,
.woocommerce a.checkout-button:active,.woocommerce #place_order:active,.k-tag:active{
  transform:translateY(1px) scale(.965)!important;
  box-shadow:inset 0 2px 2px rgba(255,255,255,.3),inset 0 -3px 10px rgba(0,0,0,.24),0 6px 12px -6px var(--glow)!important}
.k2 .k-btn:focus-visible,.kv-btn:focus-visible,.k-tag:focus-visible{outline:3px solid var(--k-teal-l);outline-offset:3px}
/* colourways of the pillow */
.k2 .k-btn--white,.kv-btn--ghost,.kv-page a.kv-btn--ghost,.k-tag--w{--f:#FFFFFF;--fh:#FFFFFF;--fl:#E7E3DD;--glow:rgba(27,31,39,.22);--tx:var(--k-ink);text-shadow:none}
.k2 .k-btn--teal,.kv-btn--primary,.kv-page a.kv-btn--primary,.kv-form button.kv-btn--primary{--f:var(--k-pink);--fh:var(--k-pink-l);--fl:var(--k-pink-d)}
.k2 .k-btn--3d{--f:var(--k-teal);--fh:var(--k-teal-l);--fl:var(--k-teal-d);--glow:rgba(20,160,198,.45)}
.k2 .k-btn--lime,.k-tag{--f:var(--k-lime);--fh:var(--k-lime-l);--fl:var(--k-lime-d);--glow:rgba(166,192,42,.45);--tx:#1B2408;text-shadow:0 1px 0 rgba(255,255,255,.25)}
.k2 .k-btn--ink,.kv-btn--dark,.kv-page a.kv-btn--dark{--f:#2A303B;--fh:#4A5263;--fl:#14171D;--glow:rgba(27,31,39,.4)}
.k-tag{padding:10px 16px!important;font:800 13px/1 var(--k-body)!important}
.single_add_to_cart_button{min-height:58px;padding:0 34px!important;font-weight:800!important;font-size:16px!important;text-transform:none!important}
.whb-header .btn{padding:0 24px!important}

/* ---------- home hero: the box + product packshot on top ---------- */
.k-stage--box .k-stage__bg{background:radial-gradient(110% 90% at 50% 18%,#FFFFFF 0%,#F4F2EF 55%,#E9E4DF 100%)!important;box-shadow:var(--k-soft-lg)!important;border:0!important}
.k-boxhero{position:absolute;inset:6% 0 4% 4%;display:flex;align-items:center;justify-content:center;padding:4% 6%}
.k-boxhero img{max-height:100%;width:auto;max-width:100%;object-fit:contain;border-radius:26px;box-shadow:0 30px 60px -28px rgba(27,31,39,.45)}
@media (max-width:760px){.k-boxhero{position:relative;inset:auto;padding:0}.k-stage--box{height:auto!important}.k-stage--box .k-stage__bg{display:none}.k-boxhero img{max-height:none;width:100%}}

/* ---------- the live 3D builder, now in the "Build one before it ships" section ---------- */
.k-builder__shot{border:0!important;box-shadow:var(--k-soft-lg)!important;background:radial-gradient(120% 100% at 50% 10%,#FFFFFF 0%,#F2F1EE 70%,#E7E4E0 100%)!important}
.kv3d--inline{position:relative;inset:auto;aspect-ratio:4/3;border-radius:var(--k-r);overflow:hidden}
.kv3d--inline .kv3d__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;padding:0}
.kv3d--inline .kv3d__tap{position:absolute;right:16px;top:16px;z-index:3}

@media (prefers-reduced-motion:reduce){.k2 .k-btn,.kv-btn,.k-tag{transition:none!important}}

/* ---------- no black anywhere (Ilya: "why do you have black lines on the site?") ----------
   The theme prints inline header CSS late in <head>, so these carry extra specificity (html body …). */
html body .whb-top-bar{background:linear-gradient(90deg,#0C7C9C 0%,#14A0C6 55%,#2AB2D6 100%)!important;border:0!important}
html body .whb-top-bar *,html body .whb-header .whb-row,html body .whb-header .whb-flex-row,html body .whb-top-bar-inner,
html body .whb-general-header-inner,html body .whb-header-bottom-inner{border-top:0!important;border-bottom:0!important}
html body .whb-general-header{border-bottom:0!important;box-shadow:0 12px 30px -26px rgba(27,31,39,.45)}
html body .kv-announce{color:#fff!important}
html body .kv-announce a{color:#fff!important;text-decoration:underline;text-decoration-color:rgba(255,255,255,.55);text-underline-offset:3px}
html body .whb-header .btn{
  --f:var(--k-pink); --fh:var(--k-pink-l); --fl:var(--k-pink-d); --glow:rgba(216,27,102,.45);
  border:0!important;color:#fff!important;background-color:var(--f)!important;
  background-image:url(plush-weave.webp),radial-gradient(130% 120% at 50% 0%,var(--fh) 0%,var(--f) 52%,var(--fl) 100%)!important;
  background-size:160px 160px,100% 100%!important;background-blend-mode:soft-light,normal!important;
  box-shadow:inset 0 3px 2px rgba(255,255,255,.42),inset 0 -6px 10px rgba(0,0,0,.16),0 10px 18px -8px var(--glow),0 3px 6px rgba(27,31,39,.12)!important}
/* the deep colour is the logo's turquoise, never black */
html body .k-ink,html body .kv-sec--ink{background:radial-gradient(120% 140% at 85% 0%,#3CC0E2 0%,#14A0C6 45%,#0B7D9E 100%)!important;color:rgba(255,255,255,.94)!important}
html body .k-ink .k-lead,html body .k-ink p{color:rgba(255,255,255,.94)!important}
html body .k-perhour{background:radial-gradient(130% 120% at 80% 0%,#3CC0E2 0%,#14A0C6 50%,#0B7D9E 100%)!important;color:rgba(255,255,255,.92)!important;box-shadow:var(--k-soft-lg)}
html body .k-perhour *:not(.k-btn){color:#fff!important}
html body .k-wl{background:linear-gradient(140deg,#FFF5F9 0%,#FFE6F0 100%)!important;color:var(--k-text)!important;box-shadow:var(--k-soft-lg)}
html body .k-wl h2,html body .k-wl .k-h2{color:var(--k-ink)!important}
html body .k-wl .k-lead,html body .k-wl p,html body .k-wl label{color:var(--k-text)!important}
html body .k-wl input,html body .k-wl select{background:#fff!important;color:var(--k-ink)!important;border:1px solid rgba(27,31,39,.14)!important}
html body .k-pole__demo{background:radial-gradient(110% 100% at 50% 0%,#FFFFFF 0%,#EEF1F4 100%)!important;border:0!important;box-shadow:var(--k-soft-lg)}
html body .k-pole__state{color:#6B7380!important}
html body .k-pole__word{color:var(--k-lime-d)!important}
html body .k-now{background:#fff!important;color:var(--k-ink)!important;box-shadow:var(--k-soft)}
html body .kv-foot{background:linear-gradient(160deg,#0D5A70 0%,#083F4F 100%)!important;color:#CFE7EE!important}
html body .kv-foot a{color:#EAF7FB!important}
html body .kv-foot h4{color:#fff!important}

html body .wd-footer,html body footer.footer-container{background:#083F4F!important;border-top:0!important}
@media (max-width:760px){html body .k-spark{display:none!important}}
/* hero card takes the packshot's own backdrop (#F1F4F5 → #EEF1F3) so the box sits on the card with no photo edge */
html body .k-stage--box .k-stage__bg{background:linear-gradient(180deg,#F1F4F5 0%,#EEF1F3 100%)!important}
html body .k-boxhero img{border-radius:0;box-shadow:none}
/* feather the packshot's edges into the card and let the box fill it */
html body .k-boxhero img{max-height:112%;max-width:112%;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 7%,#000 93%,transparent 100%);mask-composite:intersect}
@media (max-width:760px){html body .k-boxhero img{max-height:none;max-width:100%;border-radius:28px;-webkit-mask-image:none;mask-image:none;box-shadow:0 26px 50px -30px rgba(27,31,39,.4)}}
