/*
Theme Name: KUBBO 3D
Theme URI: https://kubbo3d.com.br
Author: KUBBO 3D
Author URI: https://kubbo3d.com.br
Description: Tema de loja virtual para a KUBBO 3D — impressão 3D personalizada. Visual tecnológico, compatível com WooCommerce (loja, produto, carrinho e checkout estilizados). Cria páginas e produtos de demonstração na ativação.
Version: 1.5
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
WC requires at least: 7.0
WC tested up to: 10.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kubbo3d
*/

/* ============ RESET / BASE ============ */
:root{
  --ink:#141923; --navy:#0e1117; --navy2:#0a0d13;
  --blue:#0b72f2; --blue-deep:#0244cc; --blue-glow:#3d9bff;
  --bg:#ffffff; --mist:#f6f8fc; --line:#e6edf5; --line2:#eef2f7;
  --muted:#566070; --faint:#8b96a6;
  --font-display:'Sora',sans-serif;
  --font-body:'Manrope',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);overflow-x:hidden;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button{font-family:inherit}
h1,h2,h3{margin:0}
.kb-container{max-width:1280px;margin:0 auto;padding:0 28px}

/* blueprint grids */
.kb-grid-dark{background-color:var(--navy);background-image:linear-gradient(rgba(61,155,255,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(61,155,255,0.07) 1px,transparent 1px);background-size:32px 32px}
.kb-grid-light{background-color:var(--mist);background-image:linear-gradient(rgba(11,114,242,0.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,114,242,0.045) 1px,transparent 1px);background-size:30px 30px}

/* mono eyebrow */
.kb-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.08em;color:var(--blue);text-transform:uppercase;margin-bottom:12px}
.kb-eyebrow.light{color:var(--blue-glow)}
.kb-corner{position:absolute;width:11px;height:11px}
.kb-corner.tl{top:10px;left:10px;border-left:1.5px solid #c2cfe0;border-top:1.5px solid #c2cfe0}
.kb-corner.br{bottom:10px;right:10px;border-right:1.5px solid #c2cfe0;border-bottom:1.5px solid #c2cfe0}

/* ============ BUTTONS ============ */
.kb-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:16px;padding:15px 26px;border-radius:8px;border:none;cursor:pointer;transition:all .16s}
.kb-btn-primary{background:var(--blue);color:#fff;box-shadow:0 0 0 1px rgba(61,155,255,0.5),0 12px 30px rgba(11,114,242,0.34)}
.kb-btn-primary:hover{background:#0860d6}
.kb-btn-ghost{background:transparent;color:#fff;border:1.5px solid #2a3340}
.kb-btn-ghost:hover{border-color:var(--blue-glow)}
.kb-btn-light{background:#fff;color:var(--ink);border:1.5px solid #d9e1ec}
.kb-btn-light:hover{border-color:var(--blue)}
.kb-btn-onblue{background:#fff;color:var(--blue-deep)}

/* ============ HEADER ============ */
.kb-announce{background:var(--navy2);border-bottom:1px solid #1b2430;padding:8px 16px;text-align:center}
.kb-announce span{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:#7d8aa0;text-transform:uppercase}
.kb-header{position:sticky;top:0;z-index:50;background:rgba(14,17,23,0.9);backdrop-filter:blur(16px);border-bottom:1px solid #1f2632}
.kb-header-inner{display:flex;align-items:center;gap:30px;padding:14px 28px;max-width:1280px;margin:0 auto}
.kb-logo{display:flex;align-items:center;gap:11px;flex:none}
.kb-logo img{height:34px;width:34px}
.kb-logo-text{font-family:var(--font-display);font-weight:700;font-size:20px;letter-spacing:-0.01em;color:#fff}
.kb-logo-text b{color:var(--blue-glow);font-weight:700}
.kb-nav{display:flex;align-items:center;gap:4px;margin-left:10px}
.kb-nav a{position:relative;font-size:14px;font-weight:500;color:#c4ccd9;padding:8px 14px;border-radius:8px;transition:all .15s}
.kb-nav a:hover{background:#1b212c;color:#fff}
.kb-nav a.active::after{content:"";position:absolute;left:14px;right:14px;bottom:1px;height:2px;border-radius:2px;background:var(--blue-glow);box-shadow:0 0 8px rgba(61,155,255,0.8)}
.kb-header-right{margin-left:auto;display:flex;align-items:center;gap:12px}
.kb-cart{display:flex;align-items:center;gap:9px;font-weight:600;font-size:13.5px;color:#e6ebf3;padding:9px 14px;border:1px solid #2a3340;border-radius:8px;transition:all .15s}
.kb-cart:hover{border-color:var(--blue-glow)}
.kb-cart-label{font-family:var(--font-mono);font-size:12px;letter-spacing:0.04em}
.kb-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:21px;height:21px;padding:0 6px;border-radius:8px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;font-family:var(--font-display)}
.kb-header-cta{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13.5px;color:#fff;background:var(--blue);padding:11px 17px;border-radius:8px;box-shadow:0 0 0 1px rgba(61,155,255,0.4),0 8px 22px rgba(11,114,242,0.35)}

/* ============ HERO ============ */
.kb-hero{position:relative;overflow:hidden}
.kb-hero-glow{position:absolute;top:-120px;right:-80px;width:520px;height:520px;background:radial-gradient(circle,rgba(11,114,242,0.28) 0%,transparent 65%);pointer-events:none}
.kb-hero-inner{position:relative;display:grid;grid-template-columns:1.08fr 0.92fr;gap:54px;align-items:center;padding:80px 28px 88px;max-width:1280px;margin:0 auto}
.kb-h1{font-family:var(--font-display);font-weight:700;font-size:56px;line-height:1.03;letter-spacing:-0.02em;color:#fff;text-wrap:balance;margin-bottom:22px}
.kb-h1 .hl{color:var(--blue-glow)}
.kb-hero p{font-size:18px;line-height:1.6;color:#9aa5b6;margin:0 0 32px;max-width:500px}
.kb-hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:38px}
.kb-specrow{display:flex;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;color:#6b7585;letter-spacing:0.03em;border-top:1px solid #1f2632;padding-top:22px}
.kb-specrow span{padding:0 22px;border-left:1px solid #1f2632}
.kb-specrow span:first-child{padding-left:0;border-left:none}
.kb-specrow b{color:#aeb9c9;font-weight:400}
.kb-hero-visual{position:relative;height:440px}
.kb-hero-panel{position:absolute;inset:0;border-radius:8px;overflow:hidden;border:1px solid #2a3442;background-color:#11161f;background-image:linear-gradient(rgba(61,155,255,0.1) 1px,transparent 1px),linear-gradient(90deg,rgba(61,155,255,0.1) 1px,transparent 1px);background-size:26px 26px;box-shadow:0 30px 80px rgba(0,0,0,0.5)}
.kb-hero-panel .tag{position:absolute;font-family:var(--font-mono);font-size:11px;color:#5a6678;letter-spacing:0.05em}
.kb-hero-cube{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:130px;height:130px;filter:drop-shadow(0 14px 30px rgba(11,114,242,0.5));animation:kbfloat 6s ease-in-out infinite}
.kb-hero-layers{position:absolute;left:0;right:0;bottom:0;height:90px;background:repeating-linear-gradient(0deg,rgba(61,155,255,0.16) 0 2px,transparent 2px 7px)}
.kb-hero-chip{position:absolute;right:-16px;top:30px;background:#fff;color:var(--ink);padding:13px 17px;border-radius:8px;box-shadow:0 16px 36px rgba(0,0,0,0.3);animation:kbfloat 7s ease-in-out infinite .6s}
.kb-hero-chip .n{font-family:var(--font-display);font-weight:700;font-size:20px;line-height:1;color:var(--blue)}
.kb-hero-chip .k{font-family:var(--font-mono);font-size:10.5px;color:#6b7585;margin-top:4px;letter-spacing:0.03em}
@keyframes kbfloat{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 14px))}}
.kb-hero-chip{animation-name:kbfloat2}
@keyframes kbfloat2{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* ============ STAT STRIP ============ */
.kb-stats{background:var(--navy2);border-top:1px solid #1b2430;border-bottom:1px solid #1b2430}
.kb-stats-inner{display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:0 auto;padding:0 28px}
.kb-stat{padding:26px 16px;border-left:1px solid #161d28;text-align:center}
.kb-stat .v{font-family:var(--font-display);font-weight:700;font-size:26px;color:#fff}
.kb-stat .k{font-family:var(--font-mono);font-size:11px;color:#6b7585;letter-spacing:0.05em;text-transform:uppercase;margin-top:5px}

/* ============ SECTION HEAD ============ */
.kb-sec{padding:66px 28px 8px;max-width:1280px;margin:0 auto}
.kb-sechead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}
.kb-h2{font-family:var(--font-display);font-weight:700;font-size:32px;letter-spacing:-0.01em;color:var(--ink)}
.kb-seclink{font-family:var(--font-mono);font-weight:500;font-size:13px;color:var(--blue);letter-spacing:0.03em;flex:none}

/* ============ CATEGORIES ============ */
.kb-cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.kb-cat{display:block;border:1px solid #e3eaf4;border-radius:8px;overflow:hidden;background:#fff;transition:all .18s}
.kb-cat:hover{box-shadow:0 16px 34px rgba(20,40,80,0.13);border-color:#9cc4fb;transform:translateY(-3px)}
.kb-cat-thumb{position:relative;height:96px;background:repeating-linear-gradient(135deg,#eef3fb 0 9px,#e4ecf7 9px 18px);display:flex;align-items:center;justify-content:center}
.kb-cat-thumb .g{font-family:var(--font-display);font-weight:700;font-size:24px;color:#9fb2cd}
.kb-cat-body{padding:13px 14px}
.kb-cat-body .nm{font-weight:600;font-size:14px;color:#1b202b}
.kb-cat-body .ct{font-family:var(--font-mono);font-size:11px;color:var(--faint);margin-top:3px;letter-spacing:0.02em}

/* ============ PRODUCTS ============ */
.kb-products{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kb-prod{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:all .18s}
.kb-prod:hover{box-shadow:0 18px 40px rgba(20,40,80,0.14);transform:translateY(-3px);border-color:#cfe0fb}
.kb-prod-img{display:block;position:relative;height:188px;background:repeating-linear-gradient(135deg,#eef3fb 0 10px,#e4ecf7 10px 20px)}
.kb-prod-img .lbl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--font-mono);font-size:11px;color:#9aa7bb;letter-spacing:0.03em;width:90%;text-align:center}
.kb-badge{position:absolute;top:12px;right:12px;background:var(--blue);color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:0.04em;padding:5px 9px;border-radius:8px;text-transform:uppercase}
.kb-prod-body{padding:16px;display:flex;flex-direction:column;flex:1}
.kb-prod-spec{font-family:var(--font-mono);font-size:11px;color:var(--blue);letter-spacing:0.03em;margin-bottom:7px}
.kb-prod-name{font-weight:600;font-size:15px;line-height:1.3;color:#1b202b;margin-bottom:15px}
.kb-prod-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px}
.kb-price{font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--ink)}
.kb-add{border:none;cursor:pointer;background:#eaf2fe;color:var(--blue-deep);font-weight:700;font-size:13px;font-family:var(--font-display);padding:10px 15px;border-radius:8px;transition:all .15s}
.kb-add:hover{background:var(--blue);color:#fff}

/* ============ SOB DEMANDA ============ */
.kb-band{margin-top:74px}
.kb-band-inner{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;max-width:1280px;margin:0 auto;padding:78px 28px}
.kb-band h2{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1.07;letter-spacing:-0.02em;color:#fff;text-wrap:balance;margin-bottom:18px}
.kb-band p{font-size:16.5px;line-height:1.62;color:#9aa5b6;margin:0 0 30px;max-width:420px}
.kb-steps{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kb-step{background:#161d28;border:1px solid #232c3a;border-radius:8px;padding:22px 20px}
.kb-step .n{font-family:var(--font-mono);font-weight:500;font-size:12px;color:var(--blue-glow);margin-bottom:14px;letter-spacing:0.05em}
.kb-step .t{font-family:var(--font-display);font-weight:600;font-size:16px;margin-bottom:7px;color:#fff}
.kb-step .d{font-size:13.5px;line-height:1.5;color:var(--faint)}

/* ============ BRINDES BAND ============ */
.kb-cta-band{background:linear-gradient(120deg,var(--blue) 0%,var(--blue-deep) 100%);border-radius:8px;padding:54px 52px;color:#fff;position:relative;overflow:hidden;margin:74px auto;max-width:1224px}
.kb-cta-grid{display:grid;grid-template-columns:1.2fr 0.8fr;gap:40px;align-items:center}
.kb-cta-band h2{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.1;letter-spacing:-0.01em;margin-bottom:16px;position:relative;z-index:2}
.kb-cta-band p{font-size:16px;line-height:1.6;color:#dbe7ff;margin:0 0 26px;max-width:480px;position:relative;z-index:2}
.kb-cta-ph{position:relative;z-index:2;height:170px;border-radius:8px;border:1px dashed rgba(255,255,255,0.4);display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.07);font-family:var(--font-mono);font-size:12px;color:rgba(255,255,255,0.75)}
.kb-cta-watermark{position:absolute;right:-40px;bottom:-50px;width:240px;opacity:0.13;z-index:1}
.kb-cta-center{padding:54px;text-align:center}
.kb-cta-center h2{margin-bottom:12px}
.kb-cta-center p{margin:0 auto 26px}

/* ============ DIFERENCIAIS ============ */
.kb-diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:1280px;margin:0 auto;padding:8px 28px 30px}
.kb-diff{padding:26px 22px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe}
.kb-icon{width:40px;height:40px;border-radius:8px;background:var(--navy);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.kb-icon i{width:15px;height:15px;border-radius:3px;background:var(--blue-glow);display:inline-block;transform:rotate(45deg)}
.kb-diff .t{font-family:var(--font-display);font-weight:600;font-size:16px;color:#1b202b;margin-bottom:7px}
.kb-diff .d{font-size:13.5px;line-height:1.55;color:#6b7585}

/* ============ SOBRE TEASER / SPLIT ============ */
.kb-split{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;max-width:1280px;margin:0 auto;padding:74px 28px}
.kb-split.bordered{border-top:1px solid var(--line2);padding-top:64px}
.kb-split h2{font-family:var(--font-display);font-weight:700;font-size:32px;line-height:1.12;letter-spacing:-0.01em;color:var(--ink);margin-bottom:18px;text-wrap:balance}
.kb-split p{font-size:16px;line-height:1.66;color:var(--muted);margin:0 0 16px}
.kb-photo{position:relative;height:320px;border-radius:8px;background:repeating-linear-gradient(135deg,#eef3fb 0 12px,#e4ecf7 12px 24px);border:1px solid #e6edf6;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;color:#9aa7bb}
.kb-photo .cube{width:120px;height:120px;opacity:0.55;position:absolute;left:50%;top:42%;transform:translate(-50%,-50%)}

/* ============ FOOTER ============ */
.kb-footer{background:var(--navy2);color:#aeb9c9;border-top:1px solid #1b2430}
.kb-footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:40px;max-width:1280px;margin:0 auto;padding:60px 28px 28px}
.kb-footer-brand{display:flex;align-items:center;gap:11px;margin-bottom:18px}
.kb-footer-brand img{height:34px;width:34px}
.kb-footer-brand span{font-family:var(--font-display);font-weight:700;font-size:19px;color:#fff}
.kb-footer-brand b{color:var(--blue-glow)}
.kb-footer p{font-size:13.5px;line-height:1.65;color:#7d8aa0;margin:0 0 18px;max-width:250px}
.kb-footer-status{font-family:var(--font-mono);font-size:11px;color:#4f5b6e;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:7px}
.kb-footer-status .dot{width:7px;height:7px;border-radius:50%;background:#27c08a;box-shadow:0 0 8px #27c08a}
.kb-footer-h{font-family:var(--font-mono);font-weight:500;font-size:11px;color:#5a6678;margin-bottom:16px;letter-spacing:0.08em;text-transform:uppercase}
.kb-footer-col a{display:block;color:#9aa5b6;font-size:14px;margin-bottom:11px}
.kb-footer-col a:hover{color:#fff}
.kb-footer-wa{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:#fff;background:var(--blue);padding:12px 17px;border-radius:8px;margin-bottom:16px}
.kb-footer-contact{font-family:var(--font-mono);font-size:12.5px;line-height:2;color:#7d8aa0}
.kb-footer-bottom{border-top:1px solid #161d28}
.kb-footer-bottom-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:#4f5b6e;letter-spacing:0.03em;max-width:1280px;margin:0 auto;padding:18px 28px}

/* ============ PAGE HERO (interior) ============ */
.kb-pagehero{padding:44px 28px 40px;max-width:1280px;margin:0 auto}
.kb-pagehero.narrow{max-width:840px}
.kb-crumb{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.05em;color:#6b7585;margin-bottom:16px}
.kb-crumb a{color:#6b7585}
.kb-crumb .cur{color:var(--blue-glow)}
.kb-pagehero h1{font-family:var(--font-display);font-weight:700;font-size:40px;line-height:1.05;letter-spacing:-0.02em;color:#fff;margin-bottom:0;text-wrap:balance}
.kb-pagehero p{font-size:18px;line-height:1.6;color:#9aa5b6;margin:0;max-width:600px}

/* ============ LOJA TOOLBAR ============ */
.kb-toolbar{position:sticky;top:55px;z-index:30;background:rgba(255,255,255,0.92);backdrop-filter:blur(12px);border-bottom:1px solid #e9eef5}
.kb-toolbar-inner{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1280px;margin:0 auto;padding:16px 28px}
.kb-chips{display:flex;gap:8px;flex-wrap:wrap}
.kb-chip{border:1px solid #e2e8f1;cursor:pointer;background:#fff;color:#56607a;font-weight:600;font-size:13px;padding:9px 16px;border-radius:100px;transition:all .15s}
.kb-chip:hover{border-color:var(--blue)}
.kb-chip.active{border-color:var(--blue);background:var(--blue);color:#fff}
.kb-count{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:0.03em}

/* ============ PRODUTO ============ */
.kb-prodpage{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1280px;margin:0 auto;padding:26px 28px 60px}
.kb-gallery-main{position:relative;border:1px solid var(--line);border-radius:8px;height:480px;background:repeating-linear-gradient(135deg,#eef3fb 0 12px,#e4ecf7 12px 24px);display:flex;align-items:center;justify-content:center;overflow:hidden;font-family:var(--font-mono);font-size:12px;color:#9aa7bb;letter-spacing:0.03em}
.kb-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.kb-thumb{position:relative;border:1px solid var(--line);border-radius:8px;height:84px;background:repeating-linear-gradient(135deg,#eef3fb 0 8px,#e4ecf7 8px 16px);display:flex;align-items:center;justify-content:center;cursor:pointer;font-family:var(--font-mono);font-size:9.5px;color:#9aa7bb;transition:all .15s}
.kb-thumb:hover{border-color:var(--blue)}
.kb-prodinfo .sku{font-family:var(--font-mono);font-size:11.5px;color:var(--blue);letter-spacing:0.05em;margin-bottom:12px}
.kb-prodinfo h1{font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1.1;letter-spacing:-0.01em;color:var(--ink);margin-bottom:14px}
.kb-priceline{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.kb-priceline .p{font-family:var(--font-display);font-weight:700;font-size:30px;color:var(--ink)}
.kb-stock{font-family:var(--font-mono);font-size:11.5px;color:#27a06f;background:#e7f7ef;padding:5px 10px;border-radius:8px;letter-spacing:0.03em}
.kb-prodinfo .desc{font-size:15.5px;line-height:1.65;color:var(--muted);margin-bottom:26px}
.kb-field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;color:#56607a;text-transform:uppercase;margin-bottom:11px}
.kb-field-label b{color:var(--blue);font-weight:500}
.kb-swatches{display:flex;gap:11px;margin-bottom:22px}
.kb-swatch{cursor:pointer;width:38px;height:38px;border-radius:50%;border:2px solid transparent;transition:all .15s}
.kb-swatch.active{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}
.kb-input{width:100%;border:1px solid #d9e1ec;border-radius:8px;padding:13px 15px;font-size:14.5px;color:var(--ink);outline:none;font-family:var(--font-body)}
.kb-input:focus{border-color:var(--blue)}
.kb-qtyrow{display:flex;align-items:center;gap:14px;margin:22px 0 24px;flex-wrap:wrap}
.kb-stepper{display:flex;align-items:center;border:1px solid #d9e1ec;border-radius:8px;overflow:hidden}
.kb-stepper button{border:none;background:#fff;cursor:pointer;width:44px;height:48px;font-size:20px;color:#56607a}
.kb-stepper .q{font-family:var(--font-display);font-weight:600;font-size:16px;width:42px;text-align:center;color:var(--ink)}
.kb-buynow{flex:1;min-width:200px;border:none;cursor:pointer;background:var(--blue);color:#fff;font-family:var(--font-display);font-weight:600;font-size:16px;padding:15px 24px;border-radius:8px;box-shadow:0 12px 28px rgba(11,114,242,0.3);transition:all .15s}
.kb-buynow:hover{background:#0860d6}
.kb-wa-secondary{display:flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid #d9e1ec;padding:14px 24px;border-radius:8px;margin-bottom:28px}
.kb-wa-secondary:hover{border-color:var(--blue)}
.kb-spectable{border:1px solid var(--line);border-radius:8px;overflow:hidden}
.kb-spectable .h{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:#56607a;text-transform:uppercase;background:var(--mist);padding:11px 16px;border-bottom:1px solid var(--line)}
.kb-spec-rows{display:grid;grid-template-columns:1fr 1fr}
.kb-spec-row{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line2);font-size:13px}
.kb-spec-row .k{font-family:var(--font-mono);color:var(--faint);letter-spacing:0.02em}
.kb-spec-row .v{font-weight:600;color:#1b202b}

/* desc blocks */
.kb-descblocks{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1280px;margin:0 auto;padding:60px 28px}
.kb-descblock{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px 26px}
.kb-descblock .tag{font-family:var(--font-mono);font-size:11px;color:var(--blue);letter-spacing:0.05em;text-transform:uppercase;margin-bottom:14px}
.kb-descblock h3{font-family:var(--font-display);font-weight:600;font-size:18px;margin-bottom:10px;color:var(--ink)}
.kb-descblock p{font-size:14px;line-height:1.62;color:var(--muted);margin:0}

/* ============ COMO FUNCIONA ============ */
.kb-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1280px;margin:0 auto;padding:70px 28px 30px}
.kb-tl{position:relative;border:1px solid var(--line);border-radius:8px;padding:28px 24px;background:#fff;overflow:hidden}
.kb-tl .big{position:absolute;top:14px;right:18px;font-family:var(--font-display);font-weight:700;font-size:56px;color:#f0f4fa;line-height:1}
.kb-tl .lbl{font-family:var(--font-mono);font-size:11px;color:var(--blue);letter-spacing:0.05em;margin-bottom:14px;position:relative;z-index:2}
.kb-tl h3{font-family:var(--font-display);font-weight:600;font-size:19px;margin-bottom:9px;color:var(--ink);position:relative;z-index:2}
.kb-tl p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;position:relative;z-index:2}
.kb-paths{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1280px;margin:0 auto;padding:0 28px}
.kb-path{border-radius:8px;padding:34px 32px}
.kb-path.light{border:1px solid var(--line);background:#fbfcfe}
.kb-path.dark{border:1px solid #1f2632;color:#fff}
.kb-path-tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;padding:6px 11px;border-radius:8px;letter-spacing:0.04em;margin-bottom:18px}
.kb-path.light .kb-path-tag{color:var(--blue-deep);background:#eaf2fe}
.kb-path.dark .kb-path-tag{color:var(--blue-glow);background:#172230}
.kb-path h3{font-family:var(--font-display);font-weight:600;font-size:21px;margin-bottom:16px}
.kb-path.light h3{color:var(--ink)}
.kb-pathsteps{display:flex;flex-direction:column;gap:13px}
.kb-pathstep{display:flex;align-items:flex-start;gap:12px}
.kb-pathstep .n{flex:none;width:24px;height:24px;border-radius:8px;font-family:var(--font-mono);font-size:12px;display:flex;align-items:center;justify-content:center;font-weight:500}
.kb-path.light .kb-pathstep .n{background:var(--blue);color:#fff}
.kb-path.dark .kb-pathstep .n{background:#172230;border:1px solid #2a3340;color:var(--blue-glow)}
.kb-pathstep span.t{font-size:14.5px;line-height:1.5;padding-top:2px}
.kb-path.light .kb-pathstep span.t{color:#3a4350}
.kb-path.dark .kb-pathstep span.t{color:#aeb9c9}
.kb-pathlink{display:inline-flex;margin-top:24px;font-family:var(--font-display);font-weight:600;font-size:15px}
.kb-path.light .kb-pathlink{color:var(--blue)}
.kb-path.dark .kb-pathlink{color:var(--blue-glow)}
.kb-materials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1280px;margin:0 auto;padding:0 28px}
.kb-material{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}
.kb-material .top{padding:22px 24px;border-bottom:1px solid var(--line2)}
.kb-material .nm{font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--ink)}
.kb-material .ds{font-size:13.5px;color:var(--muted);margin-top:6px;line-height:1.5}
.kb-material .rows{padding:8px 24px 16px}
.kb-mrow{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:13px;border-bottom:1px solid #f3f6fa}
.kb-mrow .k{font-family:var(--font-mono);color:var(--faint);letter-spacing:0.02em}
.kb-mrow .v{font-weight:600;color:#1b202b}
.kb-faqwrap{max-width:880px;margin:0 auto;padding:64px 28px}
.kb-faq{display:flex;flex-direction:column;gap:12px}
.kb-faqitem{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.kb-faqq{width:100%;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;text-align:left}
.kb-faqq span{font-family:var(--font-display);font-weight:600;font-size:16px;color:var(--ink)}
.kb-faqq .ic{font-family:var(--font-mono);font-size:18px;color:var(--blue);flex:none}
.kb-faqa{padding:0 22px 20px;font-size:14.5px;line-height:1.65;color:var(--muted);display:none}
.kb-faqitem.open .kb-faqa{display:block}

/* ============ SOBRE ============ */
.kb-mvgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1280px;margin:0 auto;padding:60px 28px}
.kb-mv{border-radius:8px;padding:36px 34px}
.kb-mv.light{background:#fff;border:1px solid var(--line)}
.kb-mv.dark{background:var(--navy);border:1px solid #1f2632}
.kb-mv .lbl{font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;margin-bottom:14px}
.kb-mv.light .lbl{color:var(--blue)}
.kb-mv.dark .lbl{color:var(--blue-glow)}
.kb-mv p{font-size:17px;line-height:1.6;margin:0;font-weight:500}
.kb-mv.light p{color:#1b202b}
.kb-mv.dark p{color:#fff}
.kb-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kb-agrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kb-vcard{border:1px solid var(--line);border-radius:8px;padding:26px 24px;background:#fbfcfe}
.kb-vcard .t{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);margin-bottom:7px}
.kb-vcard .d{font-size:13.5px;line-height:1.55;color:#6b7585}
.kb-acard{border:1px solid var(--line);border-radius:8px;padding:24px 22px;background:#fff}
.kb-acard .t{font-family:var(--font-display);font-weight:600;font-size:17px;color:var(--ink);margin-bottom:9px}
.kb-acard .d{font-size:13.5px;line-height:1.55;color:#6b7585}
.kb-cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2}

/* ============ CONTATO ============ */
.kb-contact{display:grid;grid-template-columns:1.35fr 0.95fr;gap:46px;align-items:start;max-width:1280px;margin:0 auto;padding:56px 28px 70px}
.kb-form{border:1px solid var(--line);border-radius:8px;padding:38px 36px;background:#fff;box-shadow:0 16px 44px rgba(20,40,80,0.06)}
.kb-form-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;color:var(--blue);text-transform:uppercase;margin-bottom:22px}
.kb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.kb-form label{display:block;font-size:13px;font-weight:600;color:#56607a;margin-bottom:8px}
.kb-form .single{margin-bottom:16px}
textarea.kb-input{resize:vertical;line-height:1.5}
.kb-form select.kb-input{background:#fff;cursor:pointer}
.kb-input::placeholder,textarea.kb-input::placeholder{color:#9aa7bb}
.kb-submit{width:100%;border:none;cursor:pointer;background:var(--blue);color:#fff;font-family:var(--font-display);font-weight:600;font-size:16px;padding:16px;border-radius:8px;box-shadow:0 12px 28px rgba(11,114,242,0.3);transition:all .15s;margin-top:10px}
.kb-submit:hover{background:#0860d6}
.kb-formnote{font-family:var(--font-mono);font-size:11px;color:#9aa7bb;margin:16px 0 0;letter-spacing:0.02em;line-height:1.5}
.kb-success{margin-top:18px;display:none;align-items:center;gap:12px;background:#e7f7ef;border:1px solid #bfe9d4;border-radius:8px;padding:14px 18px}
.kb-success.show{display:flex}
.kb-success .ic{width:24px;height:24px;border-radius:50%;background:#27a06f;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex:none}
.kb-success span{font-size:14px;color:#1c6b48;line-height:1.45}
.kb-success a{color:var(--blue-deep);font-weight:600}
.kb-contact-side{display:flex;flex-direction:column;gap:16px}
.kb-contact-wa{display:block;background:var(--navy);border:1px solid #1f2632;border-radius:8px;padding:28px;color:#fff;transition:all .15s}
.kb-contact-wa:hover{border-color:var(--blue-glow)}
.kb-contact-wa .lbl{font-family:var(--font-mono);font-size:11px;color:var(--blue-glow);letter-spacing:0.05em;margin-bottom:14px}
.kb-contact-wa .big{font-family:var(--font-display);font-weight:700;font-size:22px;margin-bottom:6px}
.kb-contact-wa .num{font-size:16px;color:#aeb9c9}
.kb-contact-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:28px;display:flex;flex-direction:column;gap:18px}
.kb-contact-item .lbl{font-family:var(--font-mono);font-size:11px;color:var(--faint);letter-spacing:0.04em;margin-bottom:6px}
.kb-contact-item .val{font-size:15px;font-weight:600;color:#1b202b}
.kb-contact-item+.kb-contact-item{border-top:1px solid var(--line2);padding-top:18px}
.kb-tips{background:var(--mist);border:1px solid var(--line);border-radius:8px;padding:26px 28px}
.kb-tip{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:#3a4350;line-height:1.5;margin-bottom:11px}
.kb-tip i{flex:none;width:7px;height:7px;border-radius:2px;background:var(--blue);margin-top:6px;transform:rotate(45deg)}

/* ============ TOAST ============ */
.kb-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);z-index:90;background:var(--navy);color:#fff;padding:14px 22px;border-radius:8px;box-shadow:0 18px 40px rgba(0,0,0,0.4);border:1px solid #2a3340;display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;opacity:0;pointer-events:none;transition:all .25s}
.kb-toast.show{opacity:1;transform:translate(-50%,0)}
.kb-toast .ic{width:22px;height:22px;border-radius:50%;background:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}

/* ============ RESPONSIVE ============ */
@media(max-width:1000px){
  .kb-hero-inner,.kb-band-inner,.kb-split,.kb-cta-grid,.kb-prodpage,.kb-contact,.kb-mvgrid,.kb-paths{grid-template-columns:1fr}
  .kb-cats,.kb-products,.kb-diffs,.kb-timeline,.kb-materials,.kb-descblocks,.kb-vgrid,.kb-agrid,.kb-stats-inner{grid-template-columns:repeat(2,1fr)}
  .kb-hero-visual{height:340px}
  .kb-h1{font-size:42px}
  .kb-nav{display:none}
}
@media(max-width:640px){
  .kb-container,.kb-sec,.kb-hero-inner,.kb-band-inner,.kb-split,.kb-prodpage,.kb-contact,.kb-pagehero{padding-left:18px;padding-right:18px}
  .kb-cats,.kb-products,.kb-diffs,.kb-timeline,.kb-materials,.kb-descblocks,.kb-vgrid,.kb-agrid,.kb-stats-inner,.kb-spec-rows,.kb-form-row{grid-template-columns:1fr}
  .kb-h1{font-size:34px}
  .kb-h2{font-size:26px}
  .kb-pagehero h1{font-size:34px}
  .kb-header-cta{display:none}
  .kb-cta-band,.kb-band-inner{padding:36px 26px}
}

/* ============ PRELOADER (cubo sendo impresso) ============ */
.kb-preloader{position:fixed;inset:0;z-index:9999;background-color:#0a0d13;background-image:linear-gradient(rgba(61,155,255,0.07) 1px,transparent 1px),linear-gradient(90deg,rgba(61,155,255,0.07) 1px,transparent 1px);background-size:32px 32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;transition:opacity .5s ease,visibility .5s}
.kb-preloader.done{opacity:0;visibility:hidden;pointer-events:none}
.kb-pre-stage{position:relative;width:160px;height:160px;display:flex;align-items:flex-end;justify-content:center}
.kb-pre-cube{position:relative;width:120px;height:120px;margin-bottom:14px}
.kb-pre-cube img{width:100%;height:100%;clip-path:inset(100% 0 0 0);animation:kbReveal 2.2s cubic-bezier(.5,0,.3,1) forwards;filter:drop-shadow(0 10px 26px rgba(11,114,242,0.45))}
.kb-pre-scan{position:absolute;left:-8px;right:-8px;height:3px;background:linear-gradient(90deg,transparent,#3d9bff,transparent);box-shadow:0 0 14px 2px rgba(61,155,255,0.85);bottom:14px;animation:kbScanPre 2.2s cubic-bezier(.5,0,.3,1) forwards}
.kb-pre-bed{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:150px;height:10px;border-radius:3px;background:linear-gradient(#1b2533,#11161f);box-shadow:0 0 0 1px #2a3340,0 0 30px rgba(61,155,255,0.25)}
@keyframes kbReveal{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes kbScanPre{0%{bottom:14px;opacity:1}90%{opacity:1}100%{bottom:134px;opacity:0}}
.kb-pre-text{font-family:var(--font-display);font-weight:700;font-size:22px;color:#fff;letter-spacing:0.02em}
.kb-pre-text b{color:#3d9bff}
.kb-pre-bar{width:180px;height:4px;border-radius:3px;background:#1b2430;overflow:hidden}
.kb-pre-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#0b72f2,#3d9bff);animation:kbBar 2.2s ease forwards}
@keyframes kbBar{to{width:100%}}
.kb-pre-status{font-family:var(--font-mono);font-size:11px;color:#5aa2ff;letter-spacing:0.14em}

/* ============ HERO PRINT (objeto 3D sendo impresso) ============ */
.kb-printbox{position:absolute;inset:0;border-radius:8px;overflow:hidden;border:1px solid #2a3442;background-color:#11161f;background-image:linear-gradient(rgba(61,155,255,0.1) 1px,transparent 1px),linear-gradient(90deg,rgba(61,155,255,0.1) 1px,transparent 1px);background-size:26px 26px;box-shadow:0 30px 80px rgba(0,0,0,0.5)}
.kb-printbox .tag{position:absolute;font-family:var(--font-mono);font-size:11px;color:#5a6678;letter-spacing:0.05em;z-index:6}
.kb-print-nozzle{position:absolute;top:0;left:50%;margin-left:-1px;width:2px;height:40px;background:linear-gradient(#3d9bff,rgba(61,155,255,0));z-index:6}
.kb-print-nozzle::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:30px;height:16px;border-radius:0 0 7px 7px;background:#1b2533;box-shadow:0 0 0 1px #2a3340}
.kb-print-obj{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);width:180px;height:180px}
.kb-print-obj img{width:100%;height:100%;clip-path:inset(100% 0 0 0);animation:kbReveal 3.2s cubic-bezier(.45,0,.32,1) infinite;filter:drop-shadow(0 12px 30px rgba(11,114,242,0.5))}
.kb-print-scan{position:absolute;left:50%;transform:translateX(-50%);width:188px;height:3px;background:linear-gradient(90deg,transparent,#3d9bff,transparent);box-shadow:0 0 14px 2px rgba(61,155,255,0.85);bottom:48px;animation:kbScanHero 3.2s cubic-bezier(.45,0,.32,1) infinite;z-index:5}
@keyframes kbScanHero{0%{bottom:48px;opacity:1}88%{opacity:1}100%{bottom:226px;opacity:0}}
.kb-print-bed{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);width:220px;height:12px;border-radius:3px;background:linear-gradient(#1b2533,#11161f);box-shadow:0 0 0 1px #2a3340,0 6px 24px rgba(61,155,255,0.2);z-index:4}

/* ============ CARRINHO (gaveta lateral) ============ */
.kb-cart-overlay{position:fixed;inset:0;background:rgba(8,11,16,0.55);backdrop-filter:blur(2px);opacity:0;visibility:hidden;transition:all .25s;z-index:120}
.kb-cart-overlay.open{opacity:1;visibility:visible}
.kb-cart-drawer{position:fixed;top:0;right:0;height:100%;width:400px;max-width:92vw;background:#fff;z-index:121;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:-20px 0 60px rgba(0,0,0,0.25)}
.kb-cart-drawer.open{transform:translateX(0)}
.kb-cart-head{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;border-bottom:1px solid var(--line)}
.kb-cart-head span{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ink)}
.kb-cart-close{border:none;background:none;cursor:pointer;font-size:26px;color:var(--muted);line-height:1;width:34px;height:34px}
.kb-cart-items{flex:1;overflow-y:auto;padding:8px 24px}
.kb-cart-empty{text-align:center;color:var(--faint);font-size:13px;padding:60px 10px;font-family:var(--font-mono);letter-spacing:0.03em;line-height:1.7}
.kb-ci{display:flex;gap:12px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line2)}
.kb-ci-thumb{flex:none;width:52px;height:52px;border-radius:8px;background:repeating-linear-gradient(135deg,#eef3fb 0 7px,#e4ecf7 7px 14px);border:1px solid var(--line)}
.kb-ci-main{flex:1;min-width:0}
.kb-ci-name{font-weight:600;font-size:14px;color:var(--ink);line-height:1.3;margin-bottom:4px}
.kb-ci-price{font-family:var(--font-mono);font-size:12px;color:var(--blue)}
.kb-ci-ctrl{display:flex;align-items:center;gap:10px;margin-top:9px}
.kb-ci-step{display:flex;align-items:center;border:1px solid #d9e1ec;border-radius:8px;overflow:hidden}
.kb-ci-step button{border:none;background:#fff;cursor:pointer;width:28px;height:28px;font-size:15px;color:var(--muted)}
.kb-ci-step span{min-width:30px;text-align:center;font-weight:600;font-size:13px}
.kb-ci-remove{border:none;background:none;cursor:pointer;font-family:var(--font-mono);font-size:11px;color:#b04a4a;letter-spacing:0.03em;margin-left:auto}
.kb-cart-foot{border-top:1px solid var(--line);padding:20px 24px}
.kb-cart-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:15px;color:var(--muted)}
.kb-cart-total b{font-family:var(--font-display);font-size:22px;color:var(--ink)}
.kb-cart-checkout{width:100%;border:none;cursor:pointer;background:var(--blue);color:#fff;font-family:var(--font-display);font-weight:600;font-size:15px;padding:15px;border-radius:8px;box-shadow:0 10px 24px rgba(11,114,242,0.3);transition:all .15s}
.kb-cart-checkout:hover{background:#0860d6}
.kb-cart-checkout:disabled{opacity:0.5;cursor:not-allowed;box-shadow:none}
.kb-cart-note{font-family:var(--font-mono);font-size:10.5px;color:var(--faint);text-align:center;margin:12px 0 0;line-height:1.5}

/* ============================================================
   WOOCOMMERCE — skin KUBBO 3D
   ============================================================ */
.kb-woo-wrap{background:#fff}
.kb-woo{padding-top:40px;padding-bottom:72px}
.kb-crumb .woocommerce-breadcrumb{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.05em;color:#6b7585;margin:0;padding:0;text-transform:uppercase}
.kb-crumb .woocommerce-breadcrumb a{color:#6b7585}

/* Avisos */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.woocommerce-store-notice{
  border-radius:8px;border:1px solid var(--line);background:var(--mist);color:var(--ink);
  font-size:14px;padding:14px 18px;box-shadow:none;list-style:none}
.woocommerce-message{border-color:#bfe9d4;background:#e7f7ef;color:#1c6b48}
.woocommerce-error{border-color:#f0c9c9;background:#fbeeee;color:#9a3a3a}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--blue)}
.woocommerce .woocommerce-message a.button,.woocommerce-info a.button{float:right}

/* Botões */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce input.button.alt,.woocommerce #respond input#submit.alt{
  background:var(--blue);color:#fff;border:none;border-radius:8px;
  font-family:var(--font-display);font-weight:600;font-size:14px;padding:12px 20px;
  transition:all .15s;text-shadow:none;box-shadow:0 8px 20px rgba(11,114,242,0.24);line-height:1.2}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{background:#0860d6;color:#fff}
.woocommerce a.added_to_cart{display:inline-block;margin-left:10px;color:var(--blue);font-weight:600;font-size:13px;text-decoration:underline}
.woocommerce .button.loading::after{color:#fff}

/* Result count + ordering */
.woocommerce .woocommerce-result-count{color:var(--faint);font-family:var(--font-mono);font-size:12px;letter-spacing:0.03em;margin:0 0 18px}
.woocommerce .woocommerce-ordering{margin-bottom:18px}
.woocommerce .woocommerce-ordering select,.woocommerce select,.select2-container .select2-selection{
  border:1px solid #d9e1ec;border-radius:8px;padding:9px 12px;font-family:var(--font-body);font-size:14px;background:#fff;height:auto}

/* ---- LOJA (loop de produtos) ---- */
.woocommerce ul.products,.woocommerce-page ul.products{
  display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0;padding:0;list-style:none}
.woocommerce ul.products.columns-4{grid-template-columns:repeat(4,1fr)}
.woocommerce ul.products li.product,.woocommerce-page ul.products li.product{
  position:relative;width:auto!important;margin:0!important;float:none!important;clear:none!important;
  border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff;
  display:flex;flex-direction:column;padding:0 0 16px;transition:all .18s;text-align:left}
.woocommerce ul.products li.product:hover{box-shadow:0 18px 40px rgba(20,40,80,0.14);transform:translateY(-3px);border-color:#cfe0fb}
.woocommerce ul.products li.product a img{width:100%;margin:0 0 14px;border-radius:0;background:#f3f6fa;box-shadow:none}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:0 16px;font-family:var(--font-body);font-weight:600;font-size:15px;line-height:1.3;color:#1b202b;margin:0 0 8px}
.woocommerce ul.products li.product .price{
  padding:0 16px;font-family:var(--font-display);font-weight:700;font-size:19px;color:var(--ink);margin:0}
.woocommerce ul.products li.product .price del{color:var(--faint);font-weight:400;font-size:14px}
.woocommerce ul.products li.product .price ins{text-decoration:none}
.woocommerce ul.products li.product .star-rating{margin:6px 16px 0;font-size:13px}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart{
  margin:12px 16px 0;align-self:flex-start;background:#eaf2fe;color:var(--blue-deep);box-shadow:none;
  padding:10px 16px;border-radius:8px;font-weight:700;font-size:13px}
.woocommerce ul.products li.product .button:hover{background:var(--blue);color:#fff}
.woocommerce span.onsale{
  position:absolute;top:12px;left:12px;min-height:0;min-width:0;margin:0;line-height:1;
  background:var(--blue);color:#fff;font-family:var(--font-mono);font-size:10.5px;font-weight:500;
  letter-spacing:0.04em;padding:5px 9px;border-radius:8px;text-transform:uppercase}

/* ---- PRODUTO (single) ---- */
.woocommerce div.product{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.woocommerce div.product .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}
.woocommerce div.product .woocommerce-product-gallery__image img{border-radius:8px;border:1px solid var(--line)}
.woocommerce div.product .summary{width:auto!important;float:none!important;margin:0!important}
.woocommerce div.product .product_title{font-family:var(--font-display);font-weight:700;font-size:32px;line-height:1.12;letter-spacing:-0.01em;color:var(--ink);margin:0 0 14px}
.woocommerce div.product p.price,.woocommerce div.product span.price{
  font-family:var(--font-display);font-weight:700;font-size:28px;color:var(--ink);margin-bottom:18px}
.woocommerce div.product p.price del{color:var(--faint);font-weight:400;font-size:20px}
.woocommerce div.product .woocommerce-product-details__short-description{font-size:15px;line-height:1.65;color:var(--muted);margin-bottom:8px}
.woocommerce div.product form.cart{margin-top:20px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.woocommerce .quantity input.qty{
  border:1px solid #d9e1ec;border-radius:8px;padding:12px 8px;width:64px;height:auto;
  font-family:var(--font-display);font-weight:600;font-size:15px;text-align:center;color:var(--ink)}
.woocommerce div.product form.cart .button.single_add_to_cart_button{
  background:var(--blue);padding:14px 28px;font-size:15px;border-radius:8px;box-shadow:0 12px 28px rgba(11,114,242,0.3)}
.woocommerce div.product .product_meta{margin-top:22px;font-family:var(--font-mono);font-size:12px;color:var(--faint);letter-spacing:0.02em}
.woocommerce div.product .product_meta a{color:var(--blue)}
/* abas */
.woocommerce div.product .woocommerce-tabs{grid-column:1 / -1;margin-top:24px}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;border-bottom:1px solid var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--line)}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none;border:none;border-radius:0;margin:0 18px 0 0;padding:0 0 12px}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{border-bottom:2px solid var(--blue)}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after{display:none}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--muted);padding:0}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ink)}
.woocommerce div.product .woocommerce-Tabs-panel h2{font-family:var(--font-display);font-size:20px;color:var(--ink)}
.woocommerce div.product .woocommerce-Tabs-panel p{font-size:15px;line-height:1.65;color:var(--muted)}
/* relacionados / up-sells */
.woocommerce .related,.woocommerce .upsells{grid-column:1 / -1;margin-top:30px}
.woocommerce .related > h2,.woocommerce .upsells > h2,.woocommerce .cross-sells > h2{
  font-family:var(--font-display);font-weight:700;font-size:26px;color:var(--ink);margin-bottom:22px}

/* ---- CARRINHO ---- */
.woocommerce table.shop_table{border:1px solid var(--line);border-radius:8px;border-collapse:separate;border-spacing:0;overflow:hidden}
.woocommerce table.shop_table th{font-family:var(--font-mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;color:#56607a;background:var(--mist);padding:14px 16px}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line2);font-size:14px;color:var(--ink)}
.woocommerce table.shop_table img{width:60px;border-radius:8px}
.woocommerce a.remove{color:var(--blue)!important;border:1px solid var(--line);font-weight:400}
.woocommerce a.remove:hover{background:var(--blue)!important;color:#fff!important}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-page .cart-collaterals .cart_totals{
  border:1px solid var(--line);border-radius:8px;padding:8px 22px 18px;background:#fff}
.woocommerce .cart-collaterals .cart_totals h2{font-family:var(--font-display);font-size:20px;color:var(--ink);margin:16px 0}
.woocommerce .cart_totals table.shop_table{border:none}
.woocommerce .wc-proceed-to-checkout a.checkout-button{
  background:var(--blue);font-size:16px;padding:16px;border-radius:8px;box-shadow:0 12px 28px rgba(11,114,242,0.3)}
.woocommerce .cart input.qty{border:1px solid #d9e1ec;border-radius:8px;padding:9px 6px}
.woocommerce form.woocommerce-cart-form .actions .coupon input{border:1px solid #d9e1ec;border-radius:8px;padding:11px 13px}

/* ---- CHECKOUT ---- */
.woocommerce-checkout #customer_details{margin-bottom:8px}
.woocommerce form .form-row label{font-size:13px;font-weight:600;color:#56607a;margin-bottom:6px}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce-page form .form-row input.input-text,.woocommerce .select2-container .select2-selection--single{
  border:1px solid #d9e1ec;border-radius:8px;padding:12px 14px;font-family:var(--font-body);font-size:14px;color:var(--ink);box-shadow:none}
.woocommerce form .form-row input.input-text:focus,.woocommerce form .form-row textarea:focus{border-color:var(--blue);outline:none}
.woocommerce-checkout #payment,.woocommerce-checkout .woocommerce-checkout-review-order{
  background:var(--mist);border:1px solid var(--line);border-radius:8px}
.woocommerce-checkout #payment{padding:8px 4px}
.woocommerce #payment #place_order,.woocommerce-checkout #place_order{
  background:var(--blue);width:100%;font-size:16px;padding:16px;border-radius:8px;box-shadow:0 12px 28px rgba(11,114,242,0.3)}
.woocommerce-checkout-review-order table.shop_table{border:none;background:transparent}
.woocommerce ul#shipping_method li{margin:6px 0}

/* responsivo woo */
@media(max-width:1000px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:repeat(2,1fr)}
  .woocommerce div.product{grid-template-columns:1fr;gap:30px}
}
@media(max-width:560px){
  .woocommerce ul.products,.woocommerce ul.products.columns-4{grid-template-columns:1fr}
}

/* ============ PRODUTO (extras KUBBO) ============ */
.kb-prodbar{background:#0e1117;border-bottom:1px solid #1f2632;padding:18px 0}
.kb-prodbar .kb-crumb{margin:0}
.kb-prodbar .woocommerce-breadcrumb{color:#6b7585}
.kb-prodbar .woocommerce-breadcrumb a{color:#7d8aa0}
.kb-pdp-wa{display:inline-flex;align-items:center;justify-content:center;gap:9px;margin-top:14px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid #d9e1ec;padding:13px 22px;border-radius:8px;transition:all .15s}
.kb-pdp-wa:hover{border-color:var(--blue)}
.kb-pdp-trust{margin-top:26px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.kb-pdp-row{display:flex;justify-content:space-between;gap:12px;padding:12px 16px;font-size:13.5px;border-bottom:1px solid var(--line2)}
.kb-pdp-row:last-child{border-bottom:none}
.kb-pdp-row .k{font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;color:var(--faint);text-transform:uppercase;display:flex;align-items:center}
.kb-pdp-row .v{font-weight:600;color:#1b202b}
.woocommerce div.product .woocommerce-product-gallery{position:relative;border-radius:8px}
.woocommerce div.product .woocommerce-product-gallery::before,
.woocommerce div.product .woocommerce-product-gallery::after{content:"";position:absolute;width:14px;height:14px;z-index:3;pointer-events:none}
.woocommerce div.product .woocommerce-product-gallery::before{top:12px;left:12px;border-left:1.5px solid #b9c7da;border-top:1.5px solid #b9c7da}
.woocommerce div.product .woocommerce-product-gallery::after{bottom:12px;right:12px;border-right:1.5px solid #b9c7da;border-bottom:1.5px solid #b9c7da}

/* ============ FIXES v1.4 ============ */
/* remove a célula vazia no grid da loja (o clearfix ::before vira grid-item) */
.woocommerce ul.products::before,.woocommerce ul.products::after,
.woocommerce-page ul.products::before,.woocommerce-page ul.products::after{content:none!important;display:none!important}
/* aviso "adicionado ao carrinho": ícone não sobrepõe mais o texto */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-message,.woocommerce-info,.woocommerce-error{padding:15px 20px!important;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
/* imagens uniformes no catálogo */
.woocommerce ul.products li.product a img{height:240px;object-fit:cover}
/* banner do hero (imagem 3D) */
.kb-hero-banner{position:absolute;inset:0;border-radius:8px;overflow:hidden;background:#fff;border:1px solid #2a3442;box-shadow:0 30px 80px rgba(0,0,0,0.5)}
.kb-hero-banner img{width:100%;height:100%;object-fit:contain}
.kb-hero-tag{position:absolute;left:14px;bottom:14px;font-family:var(--font-mono);font-size:11px;color:#0244cc;background:rgba(234,242,254,0.95);padding:6px 10px;border-radius:8px;letter-spacing:0.04em}
