/* KUBIVO brand layer for WoodMart (kubivo.com) */
:root{
  --kv-ink:#16282C; --kv-text:#3D4A4F; --kv-muted:#6B7A80;
  --kv-teal:#0E9DB4; --kv-teal-d:#0A6E7E; --kv-teal-l:#E3F4F7;
  --kv-ivory:#F7F4EC; --kv-sand:#EFE9DC; --kv-line:#E6E0D3;
  --kv-berry:#D0457E; --kv-lime:#B5C934; --kv-honey:#E8B533;
  --kv-r:22px; --kv-r-s:14px;
  --kv-head:"Fredoka","Nunito",system-ui,sans-serif;
  --kv-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
}
body{font-family:var(--kv-body);color:var(--kv-text);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.title,.product_title,.wd-entities-title,.woodmart-title-container{font-family:var(--kv-head)!important;color:var(--kv-ink);letter-spacing:-.01em}

/* announcement bar + header */
.kv-announce-wrap{width:100%;text-align:center}
.kv-announce{font-size:14px;font-weight:600;color:#fff}
.kv-announce a{color:#9FE3EE;text-decoration:underline;text-underline-offset:3px}
.whb-general-header .wd-nav>li>a{font-family:var(--kv-body);font-weight:700;text-transform:none;font-size:15px;color:var(--kv-ink)}
.whb-general-header .wd-nav>li.current-menu-item>a,.whb-general-header .wd-nav>li>a:hover{color:var(--kv-teal)}
.whb-header .btn{border-radius:999px!important;font-weight:800;text-transform:none;letter-spacing:0;padding:10px 22px}

/* buttons */
.kv-btn{display:inline-flex;align-items:center;gap:8px;padding:15px 28px;border-radius:999px;font-weight:800;font-size:16px;line-height:1;text-decoration:none!important;transition:transform .15s,box-shadow .15s,background .15s}
.kv-btn--primary{background:var(--kv-teal);color:#fff!important;box-shadow:0 8px 20px rgba(14,157,180,.28)}
.kv-btn--primary:hover{background:var(--kv-teal-d);transform:translateY(-1px)}
.kv-btn--ghost{background:#fff;color:var(--kv-ink)!important;border:2px solid var(--kv-line)}
.kv-btn--ghost:hover{border-color:var(--kv-ink)}
.kv-btn--dark{background:var(--kv-ink);color:#fff!important}

/* page shell */
.kv-page{font-size:17px;line-height:1.65}
.kv-page img{max-width:100%;height:auto;display:block}
.kv-full{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw}
.kv-wrap{max-width:1220px;margin:0 auto;padding:0 24px}
.kv-sec{padding:96px 0}
.kv-sec--ivory{background:var(--kv-ivory)}
.kv-sec--sand{background:var(--kv-sand)}
.kv-sec--ink{background:var(--kv-ink);color:#C9D6DA}
.kv-sec--ink h2,.kv-sec--ink h3{color:#fff}
.kv-eyebrow{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--kv-teal);margin-bottom:14px}
.kv-h1{font-size:clamp(44px,6vw,76px);line-height:1.02;font-weight:600;margin:0 0 20px}
.kv-h2{font-size:clamp(32px,4vw,48px);line-height:1.08;font-weight:600;margin:0 0 16px}
.kv-h3{font-size:22px;line-height:1.25;font-weight:600;margin:0 0 8px}
.kv-lead{font-size:20px;line-height:1.6;color:var(--kv-text);max-width:560px}
.kv-center{text-align:center}.kv-center .kv-lead{margin-left:auto;margin-right:auto}
.kv-head{max-width:720px;margin:0 auto 48px;text-align:center}
.kv-head .kv-lead{margin:0 auto}
.kv-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.kv-center .kv-actions{justify-content:center}

/* hero */
body.home .main-page-wrapper{padding-top:0}
.kv-hero{background:var(--kv-ivory);padding:64px 0 72px;overflow:hidden}
.kv-hero__grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center}
.kv-hero__img{border-radius:28px;overflow:hidden;box-shadow:0 30px 60px rgba(22,40,44,.14)}
.kv-hero__img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.kv-trust{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.kv-trust span{background:#fff;border:1px solid var(--kv-line);border-radius:999px;padding:8px 14px;font-size:14px;font-weight:700;color:var(--kv-ink)}
.kv-dots{display:flex;gap:8px;align-items:center;margin-top:22px;font-size:14px;color:var(--kv-muted);font-weight:600}
.kv-dots i{width:22px;height:22px;border-radius:50%;display:inline-block;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--kv-line);background-size:cover}

/* feature cards */
.kv-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.kv-card{background:#fff;border:1px solid var(--kv-line);border-radius:var(--kv-r);padding:30px}
.kv-card__num{font-family:var(--kv-head);font-size:44px;font-weight:600;color:var(--kv-teal);line-height:1;margin-bottom:10px}
.kv-card p{margin:0;font-size:16px}

/* split */
.kv-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.kv-split--rev .kv-split__media{order:2}
.kv-split__media img{border-radius:var(--kv-r);width:100%}
.kv-list{list-style:none;margin:22px 0 0;padding:0}
.kv-list li{position:relative;padding:0 0 12px 34px;font-size:17px}
.kv-page .kv-list li::before{content:""!important;display:block!important;position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,#D9D3C6 50%,#0E9DB4 50%)!important;opacity:1!important}
.kv-sec--ink .kv-list li{color:#DCE6E9}
.kv-scan img{border-radius:var(--kv-r);box-shadow:0 30px 70px rgba(0,0,0,.35)}

/* builds grid */
.kv-builds{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kv-builds--all{grid-template-columns:repeat(5,1fr)}
.kv-build{background:#fff;border:1px solid var(--kv-line);border-radius:var(--kv-r-s);padding:10px 10px 14px;text-align:center;transition:transform .15s,box-shadow .15s}
.kv-build:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(22,40,44,.08)}
.kv-build img{border-radius:10px;aspect-ratio:4/3;object-fit:contain;width:100%;background:#fff}
.kv-build b{display:block;font-family:var(--kv-head);font-weight:600;color:var(--kv-ink);font-size:17px;margin-top:6px}
.kv-build small{color:var(--kv-muted);font-weight:700;font-size:12px;letter-spacing:.06em}

/* colorways */
.kv-colors{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.kv-color{display:block;background:#fff;border-radius:var(--kv-r);overflow:hidden;border:1px solid var(--kv-line);text-decoration:none!important;transition:transform .15s,box-shadow .15s}
.kv-color:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(22,40,44,.12)}
.kv-color img{aspect-ratio:4/3;object-fit:cover;width:100%}
.kv-color__body{padding:16px 18px 18px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.kv-color__name{font-family:var(--kv-head);font-weight:600;font-size:21px;color:var(--kv-ink);display:block}
.kv-color__mix{font-size:14px;color:var(--kv-muted);font-weight:600}
.kv-color__price{font-weight:800;color:var(--kv-ink);white-space:nowrap}
.kv-color--all{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:28px;background:var(--kv-teal-l);border-color:transparent}
.kv-color--all .kv-color__name{font-size:26px}
.kv-color img.kv-sw,.kv-sw{display:inline-block;width:30px!important;height:30px!important;aspect-ratio:auto!important;border-radius:50%;flex:none;object-fit:contain}

/* lineup band */
.kv-lineup{background:#fff;border-radius:var(--kv-r);padding:24px;border:1px solid var(--kv-line)}

/* specs */
.kv-specs{width:100%;border-collapse:collapse;font-size:16px}
.kv-specs th,.kv-specs td{padding:14px 0;border-bottom:1px solid var(--kv-line);text-align:left;vertical-align:top}
.kv-specs th{width:38%;color:var(--kv-ink);font-weight:800}

/* business band */
.kv-biz{display:grid;grid-template-columns:1.2fr 1fr;gap:48px;align-items:center;background:var(--kv-ink);border-radius:28px;padding:56px;color:#C9D6DA}
.kv-biz h2{color:#fff}
.kv-biz img{border-radius:var(--kv-r)}

/* waitlist */
.kv-wl{max-width:760px;margin:0 auto;background:#fff;border-radius:28px;padding:48px;box-shadow:0 24px 60px rgba(22,40,44,.08);text-align:center}
.kv-form{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;margin-top:26px;text-align:left}
.kv-form input[type=email],.kv-form select,.kv-form input[type=text],.kv-form textarea{height:54px;border-radius:14px;border:2px solid var(--kv-line);padding:0 16px;font-size:16px;font-family:var(--kv-body);background:#fff;color:var(--kv-ink)}
.kv-form textarea{height:120px;padding:12px 16px}
.kv-form input:focus,.kv-form select:focus,.kv-form textarea:focus{border-color:var(--kv-teal);outline:none}
.kv-form button{height:54px;border:0;cursor:pointer}
.kv-page .kv-btn--primary,.kv-form button.kv-btn--primary{background:var(--kv-teal)!important;color:#fff!important;border-radius:999px!important;text-transform:none!important;font-weight:800!important;font-size:16px!important;padding:0 26px}
.kv-page .kv-btn--primary:hover,.kv-form button.kv-btn--primary:hover{background:var(--kv-teal-d)!important}
.kv-consent{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--kv-muted);line-height:1.5}
.kv-consent input{margin-top:3px;width:18px;height:18px;flex:none}
.kv-msg{grid-column:1/-1;font-weight:700;font-size:15px;min-height:1px}
.kv-msg.ok{color:#1E8E5A}.kv-msg.err{color:#C0392B}
.kv-hp{position:absolute!important;left:-9999px!important}
.kv-form--biz{grid-template-columns:1fr 1fr}
.kv-form--biz .kv-span{grid-column:1/-1}

/* faq */
.kv-faq{max-width:860px;margin:0 auto}
.kv-faq details{background:#fff;border:1px solid var(--kv-line);border-radius:var(--kv-r-s);padding:0 24px;margin-bottom:12px}
.kv-faq summary{cursor:pointer;list-style:none;padding:20px 30px 20px 0;font-family:var(--kv-head);font-weight:600;font-size:20px;color:var(--kv-ink);position:relative}
.kv-faq summary::-webkit-details-marker{display:none}
.kv-faq summary:after{content:"+";position:absolute;right:0;top:16px;font-size:28px;color:var(--kv-teal);font-weight:500}
.kv-faq details[open] summary:after{content:"\2013"}
.kv-faq details p{margin:0 0 20px;font-size:16px}

/* legal / text pages */
.kv-doc{max-width:820px;margin:0 auto;padding:56px 0 80px}
.kv-doc h2{font-size:26px;margin:36px 0 10px}
.kv-doc p,.kv-doc li{font-size:16px}
.kv-doc .kv-updated{color:var(--kv-muted);font-size:14px}
.kv-pagehead{background:var(--kv-ivory);padding:72px 0 56px;text-align:center}
.kv-pagehead .kv-lead{margin:0 auto}

/* footer html block */
.kv-foot{background:var(--kv-ink);color:#9FB1B6;padding:72px 0 28px;font-size:15px}
.kv-foot a{color:#DCE6E9;text-decoration:none}
.kv-foot a:hover{color:#fff}
.kv-foot__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.kv-foot__logo{background:#fff;border-radius:16px;padding:14px 18px;display:inline-block;margin-bottom:16px}
.kv-foot__logo img{width:170px;height:auto;display:block}
.kv-foot h4{color:#fff;font-size:16px;margin:0 0 14px;font-family:var(--kv-body)!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.kv-foot ul{list-style:none;margin:0;padding:0}
.kv-foot li{margin:0 0 9px}
.kv-foot__bar{border-top:1px solid rgba(255,255,255,.1);margin-top:48px;padding-top:22px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}
.footer-container .main-footer>.container,.footer-container .main-footer .container{max-width:none;padding:0}
.wd-footer.footer-container,.footer-container{background:var(--kv-ink)!important}

/* WooCommerce polish */
.single-product .product_title{font-size:clamp(30px,3.4vw,44px);font-weight:600}
.single-product .price,.single-product .woocommerce-variation-price .price{color:var(--kv-ink)!important;font-weight:800;font-size:28px}
.kv-short{margin:14px 0 0;padding-left:20px}
.kv-short li{margin-bottom:6px}
.kv-desc h3{font-size:24px;margin:28px 0 10px}
.stock.out-of-stock,.stock.available-on-backorder{color:var(--kv-teal-d)!important;font-weight:800}
.kv-pdp-note{background:var(--kv-teal-l);border-radius:14px;padding:14px 18px;font-size:15px;margin:16px 0;color:var(--kv-ink)}
.product-grid-item .wd-entities-title a{font-family:var(--kv-head);font-weight:600;font-size:18px}
.wd-swatch.wd-bg-style,.wd-swatch{border-radius:50%}
.woocommerce-product-attributes th{font-weight:800;color:var(--kv-ink)}

@media (max-width:1024px){
  .kv-hero__grid,.kv-split,.kv-biz{grid-template-columns:1fr;gap:36px}
  .kv-split--rev .kv-split__media{order:0}
  .kv-cards{grid-template-columns:1fr}
  .kv-builds,.kv-builds--all{grid-template-columns:repeat(3,1fr)}
  .kv-colors{grid-template-columns:repeat(2,1fr)}
  .kv-foot__grid{grid-template-columns:1fr 1fr}
  .kv-biz{padding:36px}
}
@media (max-width:640px){
  .kv-sec{padding:64px 0}
  .kv-hero{padding:32px 0 48px}
  .kv-wrap{padding:0 16px}
  .kv-builds,.kv-builds--all{grid-template-columns:repeat(2,1fr);gap:12px}
  .kv-colors{grid-template-columns:1fr}
  .kv-form,.kv-form--biz{grid-template-columns:1fr}
  .kv-wl{padding:30px 20px}
  .kv-foot__grid{grid-template-columns:1fr}
  .kv-lead{font-size:18px}
  .kv-announce{font-size:12px}
}

/* pre-launch product page */
.kv-prelaunch .single_variation_wrap .woocommerce-variation-add-to-cart,
.kv-prelaunch form.cart .quantity,.kv-prelaunch form.cart .single_add_to_cart_button{display:none!important}
.wd-wtl-form,.wd-wtl-form-wrapper{border-radius:18px!important;border-color:var(--kv-line)!important}
.wd-wtl-form .button,.wd-wtl-form button,.single-product .wd-wtl-form [type=submit]{background:var(--kv-teal)!important;color:#fff!important;border-radius:999px!important;text-transform:none!important;font-weight:800!important}
.wd-wtl-form input[type=email]{border-radius:999px!important}
.single-product .woocommerce-variation-description p{font-size:16px;color:var(--kv-text)}
.wd-shop-tools .woocommerce-result-count,.page-title .wd-products-count,.wd-page-title .wd-products-count{display:none}
.product-grid-item .price{color:var(--kv-ink)!important;font-weight:800}
.single-product .wd-swatch{width:28px!important;height:28px!important}
.single-product .variations .wd-swatches-product{gap:6px}
.single-product .wd-swatch.wd-active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--kv-teal)}
.kv-about-logo{max-width:360px;margin:0 auto}
.kv-page a.kv-btn,.kv-page a.kv-btn--primary,.kv-color .kv-btn{padding:15px 28px!important;height:auto!important;line-height:1!important}
