.cjbb-shell{--gold:#c89429;--gold-dark:#9f6f14;--ink:#423b33;--muted:#8b8379;--line:#eadfce;--cream:#fffaf1;--panel:#fffdf9;max-width:1440px;margin:34px auto 50px;padding:0 18px;color:var(--ink);font-family:"Montserrat",sans-serif}.cjbb-brand-header{text-align:center;margin-bottom:25px}.cjbb-brand-logo{width:128px;height:104px;object-fit:contain;display:block;margin:0 auto 2px}.cjbb-brand-header h2{font-family:"Montserrat",sans-serif;text-transform:uppercase;letter-spacing:.18em;color:#a87519;font-size:30px;line-height:1.2;margin:0}.cjbb-brand-header p{margin:7px 0 5px;font-size:16px}.cjbb-divider{color:var(--gold);font-size:12px}.cjbb-builder{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(360px,1fr);gap:18px}.cjbb-preview-panel,.cjbb-picker-panel,.cjbb-cart-form{background:linear-gradient(145deg,#fffefa,#fffaf2);border:1px solid var(--line);border-radius:20px;box-shadow:0 12px 35px rgba(94,66,21,.08)}.cjbb-preview-panel{padding:18px}.cjbb-picker-panel{padding:16px;display:flex;flex-direction:column;min-height:720px}.cjbb-topline{position:absolute;z-index:5}.cjbb-preview-panel{position:relative}.cjbb-size-controls{display:flex;gap:9px}.cjbb-size-controls label{width:145px;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;box-shadow:0 6px 18px rgba(80,57,17,.06)}.cjbb-size-controls label span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.cjbb-size-controls strong{font-size:17px}.cjbb-wrist,.cjbb-allowance{width:55px;border:0;background:transparent;text-align:center;font:inherit;color:inherit;outline:0}.cjbb-canvas-wrap{display:grid;place-items:center;min-height:500px}.cjbb-canvas{width:min(64vw,570px);aspect-ratio:1;position:relative}.cjbb-center{position:absolute;inset:36%;display:flex;flex-direction:column;justify-content:center;align-items:center}.cjbb-center img{width:135px;height:110px;object-fit:contain}.cjbb-center small{font-size:9px;letter-spacing:.26em;margin-top:-5px;color:#8f8576}.cjbb-piece{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:50%;cursor:grab;filter:drop-shadow(0 7px 5px rgba(85,57,8,.23));outline:2px solid transparent;outline-offset:4px;transition:outline-color .15s,transform .15s}.cjbb-piece:hover{transform:translate(-50%,-50%) scale(1.06)}.cjbb-piece.is-selected{outline-color:var(--gold)}.cjbb-piece img{width:100%;height:100%;object-fit:contain}.cjbb-meter{height:8px;background:#f2e8d7;border-radius:99px;overflow:hidden;margin:0 70px}.cjbb-meter-fill{display:block;height:100%;background:linear-gradient(90deg,var(--gold-dark),#edc66f);border-radius:99px}.cjbb-fit-status{text-align:center;font-size:13px;color:#655d55;margin:11px 0 16px}.cjbb-fit-status.is-warning{color:#a13b26;font-weight:700}.cjbb-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.58);margin-bottom:14px}.cjbb-stats>div{text-align:center;padding:13px 8px;border-right:1px solid var(--line)}.cjbb-stats>div:last-child{border-right:0}.cjbb-stats strong{display:block;font-size:17px}.cjbb-stats span{display:block;color:var(--muted);font-size:12px;margin-top:2px}.cjbb-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.cjbb-actions button,.cjbb-tabs button,.cjbb-card-actions button,.cjbb-filter-button{border:1px solid #dfc89e;background:#fffdfa;color:#795719;border-radius:999px;padding:9px 15px;cursor:pointer}.cjbb-actions button:hover,.cjbb-card-actions button:hover{background:#fff4dc}.cjbb-actions .cjbb-save{background:linear-gradient(135deg,#d7a43a,#b77e19);color:#fff;border-color:transparent}.cjbb-actions button:disabled{opacity:.38;cursor:not-allowed}.cjbb-save-result{text-align:center;font-size:13px;margin-top:10px}.cjbb-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}.cjbb-tabs button{border-radius:12px;padding:12px 6px;color:#4d463e;display:flex;align-items:center;justify-content:center;gap:7px}.cjbb-tab-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 16px}.cjbb-tab-icon svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cjbb-tabs .active{background:linear-gradient(135deg,#d6a43c,#b97d16);color:#fff;border-color:transparent;box-shadow:0 6px 14px rgba(179,119,18,.22)}.cjbb-search-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin-bottom:12px}.cjbb-search{border:1px solid var(--line);border-radius:11px;background:#fff;padding:11px 14px;font-size:14px;outline:none}.cjbb-search:focus{border-color:var(--gold)}.cjbb-filter-button{border-radius:11px}.cjbb-components{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:610px;overflow:auto;padding-right:4px}.cjbb-components::-webkit-scrollbar{width:7px}.cjbb-components::-webkit-scrollbar-thumb{background:#c99531;border-radius:99px}.cjbb-component{display:flex;flex-direction:column;align-items:center;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.72);padding:11px 7px;text-align:center;min-width:0}.cjbb-component:hover{border-color:#d6a849;box-shadow:0 6px 20px rgba(105,71,14,.08)}.cjbb-component img{width:75px;height:75px;object-fit:contain}.cjbb-component span{font-weight:650;margin-top:5px;font-size:14px;line-height:1.25}.cjbb-component small{color:var(--muted);font-size:12px;margin:4px 0}.cjbb-card-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.cjbb-card-actions button{font-size:11px;padding:6px 8px}.cjbb-card-actions [data-act=replace]{display:none}.cjbb-cart-form{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:13px 20px;margin-top:0}.cjbb-cart-note{font-size:14px}.cjbb-add-cart{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:999px;padding:15px 34px;min-width:330px;background:linear-gradient(135deg,#e0ad43,#bd8118);color:#fff;font-weight:750;font-size:16px;box-shadow:0 9px 20px rgba(169,108,11,.25);cursor:pointer}.cjbb-add-cart:disabled{filter:grayscale(1);opacity:.45;cursor:not-allowed}.cjbb-empty{grid-column:1/-1;padding:40px;text-align:center;color:var(--muted)}
@media(max-width:980px){.cjbb-builder{grid-template-columns:1fr}.cjbb-picker-panel{min-height:0}.cjbb-cart-form{grid-column:1}.cjbb-canvas{width:min(90vw,560px)}}
@media(max-width:640px){.cjbb-shell{padding:0 8px;margin-top:18px}.cjbb-brand-header h2{font-size:21px}.cjbb-brand-logo{width:100px;height:82px}.cjbb-preview-panel,.cjbb-picker-panel{padding:11px;border-radius:15px}.cjbb-topline{position:relative}.cjbb-size-controls{width:100%}.cjbb-size-controls label{flex:1;width:auto}.cjbb-canvas-wrap{min-height:auto}.cjbb-canvas{width:94vw;max-width:420px}.cjbb-center img{width:90px;height:75px}.cjbb-meter{margin:0 18px}.cjbb-stats{grid-template-columns:repeat(2,1fr)}.cjbb-stats>div:nth-child(2){border-right:0}.cjbb-stats>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.cjbb-components{grid-template-columns:repeat(2,minmax(0,1fr));max-height:520px}.cjbb-tabs{grid-template-columns:repeat(2,1fr)}.cjbb-cart-form{flex-direction:column;gap:12px;text-align:center}.cjbb-add-cart{min-width:0;width:100%}.cjbb-actions button{padding:8px 11px;font-size:12px}.cjbb-component img{width:68px;height:68px}}

.cjbb-cart-edit-wrap{margin-top:7px}.cjbb-cart-edit-link{display:inline-flex;align-items:center;gap:5px;color:#a87519!important;font-size:13px;font-weight:650;text-decoration:none!important;border-bottom:1px solid rgba(168,117,25,.35)}.cjbb-cart-edit-link:hover{color:#7b5310!important;border-bottom-color:#7b5310}

.cjbb-sizing-note{font-size:12px;color:#766a59;text-align:center;line-height:1.5}.cjbb-category{max-width:145px;border:1px solid #eadfce;border-radius:11px;background:white;padding:8px}.cjbb-canvas{max-width:100%}.cjbb-piece:focus-visible{outline:3px solid #745300;outline-offset:3px}.cjbb-card-actions button:disabled{opacity:.4;cursor:not-allowed}

/* 0.7.1: Keep sizing controls in their own row and isolate inputs from theme styles. */
.cjbb-shell .cjbb-topline{position:static;z-index:auto;margin:0 0 14px;width:100%}
.cjbb-shell .cjbb-size-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;width:100%}
.cjbb-shell .cjbb-size-controls label{box-sizing:border-box;flex:0 1 155px;width:155px;min-width:0;margin:0;padding:10px 12px;border-radius:12px}
.cjbb-shell .cjbb-size-controls label span{font-size:12px;line-height:1.4;margin:0 0 6px}
.cjbb-shell .cjbb-size-controls strong{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;line-height:1.4;font-weight:600}
.cjbb-shell .cjbb-size-controls input[type=number]{box-sizing:border-box!important;display:inline-block!important;flex:0 0 78px!important;width:78px!important;min-width:78px!important;max-width:78px!important;height:40px!important;min-height:40px!important;margin:0!important;padding:6px 8px!important;font-family:inherit!important;font-size:16px!important;font-weight:500!important;line-height:normal!important;letter-spacing:normal!important;text-indent:0!important;text-align:center!important;color:var(--ink)!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:7px!important;box-shadow:none!important}
.cjbb-shell .cjbb-size-controls input[type=number]:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:640px){.cjbb-shell .cjbb-size-controls{gap:8px}.cjbb-shell .cjbb-size-controls label{flex:1 1 130px;max-width:180px}.cjbb-shell .cjbb-topline{margin-bottom:10px}}

/* 0.7.4: Short design identifiers use the same size as other statistics. */
.cjbb-shell .cjbb-stats>div{min-width:0}
.cjbb-shell .cjbb-stats .cjbb-design-code{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:17px!important;letter-spacing:normal!important;max-width:100%;overflow-x:auto}

/* 0.7.5: Fit desktop previews to viewport height, with scrolling materials. */
.cjbb-fullscreen{border:1px solid #dfc89e;background:#fffdfa;color:#795719;border-radius:999px;padding:7px 14px;font:inherit;font-size:13px;cursor:pointer;margin-top:8px}
.cjbb-shell:fullscreen{box-sizing:border-box;width:100%;max-width:none;height:100dvh;margin:0;padding:12px 20px;background:#fffaf1;overflow:auto}
@media(min-width:981px){
 .cjbb-shell{margin-top:12px;margin-bottom:16px}
 .cjbb-brand-header{margin-bottom:12px}
 .cjbb-brand-logo{width:76px;height:60px}
 .cjbb-brand-header h2{font-size:24px}
 .cjbb-brand-header p{font-size:14px;margin:4px 0}
 .cjbb-picker-panel{min-height:0;max-height:none}
 .cjbb-builder{gap:12px;grid-template-columns:minmax(0,1.4fr) minmax(360px,1fr)}
 .cjbb-preview-panel,.cjbb-picker-panel{padding:12px}
 .cjbb-canvas-wrap{min-height:0}
 .cjbb-canvas{width:min(100%,clamp(200px,calc(100dvh - 510px),440px))}
 .cjbb-center img{width:75%;height:auto;max-height:90px}
 .cjbb-center small{font-size:7px}
 .cjbb-topline{margin-bottom:6px!important}
 .cjbb-size-controls label{padding:6px 10px!important}
 .cjbb-stats{margin-bottom:8px}
 .cjbb-stats>div{padding:8px 5px}
 .cjbb-fit-status{margin:6px 0}
 .cjbb-sizing-note{margin:6px 0;font-size:11px}
 .cjbb-actions{gap:6px}
 .cjbb-actions button{padding:7px 11px;font-size:12px}
 .cjbb-tabs button{padding:9px 5px}
 .cjbb-components{flex:1;min-height:0;max-height:clamp(240px,calc(100dvh - 350px),620px);align-content:start}
 .cjbb-cart-form{padding:10px 16px}
 .cjbb-add-cart{padding:11px 24px}
 .cjbb-shell:fullscreen .cjbb-canvas{width:min(100%,clamp(200px,calc(100dvh - 440px),500px))}
}

/* 0.7.8: Use the Montserrat font loaded by the website throughout the builder. */
.cjbb-shell,.cjbb-shell h2,.cjbb-shell button,.cjbb-shell input,.cjbb-shell select,.cjbb-shell textarea{font-family:"Montserrat",sans-serif!important}
.cjbb-cart-edit-link{font-family:"Montserrat",sans-serif}
