.jt-palette-builder{margin:28px 0}.jt-palette-title{margin:0 0 20px}.jt-palette-layout{display:grid;grid-template-columns:minmax(320px,1fr) minmax(320px,1fr);gap:34px;align-items:start}.jt-palette-frame{position:relative;max-width:620px;margin:auto}.jt-palette-image{display:block;width:100%;height:auto}.jt-palette-slots{position:absolute;left:13.5%;right:13.5%;top:17.5%;bottom:10%;display:grid;gap:5.8%}.jt-palette-slots-9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}.jt-palette-slots-3{left:15%;right:15%;top:45%;bottom:16%;grid-template-columns:repeat(3,1fr);grid-template-rows:1fr;gap:7%}.jt-palette-slot{position:relative;overflow:hidden;border:1px dashed rgba(0,0,0,.18);border-radius:8px;background:rgba(255,255,255,.05);padding:0;cursor:pointer}.jt-palette-slot img{width:100%;height:100%;object-fit:cover;display:block}.jt-slot-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:.28}.jt-slot-label{position:absolute;left:4px;right:4px;bottom:4px;background:rgba(0,0,0,.62);color:#fff;font-size:10px;line-height:1.1;padding:4px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jt-palette-counter{text-align:center;margin-top:14px;font-size:15px}.jt-palette-help{text-align:center;margin-top:8px;font-size:13px;opacity:.7}.jt-shades-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-height:700px;overflow:auto;padding:4px}.jt-shade-card{position:relative;border:1px solid #e7e7e7;background:#fff;padding:8px;cursor:pointer;text-align:center;transition:.18s ease;border-radius:8px}.jt-shade-card:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(0,0,0,.08)}.jt-shade-card.is-selected{border-color:#111;box-shadow:0 0 0 2px #111 inset}.jt-shade-image-wrap{display:block;aspect-ratio:1/1;overflow:hidden;background:#f7f7f7}.jt-shade-image-wrap img{width:100%;height:100%;object-fit:cover;display:block}.jt-shade-name{display:block;font-size:12px;line-height:1.25;margin-top:8px;font-weight:600}.jt-shade-check{display:none;position:absolute;right:8px;top:8px;width:24px;height:24px;border-radius:50%;background:#111;color:#fff;align-items:center;justify-content:center;font-size:14px}.jt-shade-card.is-selected .jt-shade-check{display:flex}.jt-palette-disabled{opacity:.45!important;cursor:not-allowed!important}.jt-palette-empty{padding:15px;border:1px solid #ddd;background:#fff8e5}
@media(max-width:900px){.jt-palette-layout{grid-template-columns:1fr}.jt-shades-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}}
/* v0.2 pricing and duplicate shade selection */
.jt-palette-pricing{margin:16px auto 0;max-width:430px;padding:14px 18px;background:#fafafa;border:1px solid #e5e5e5;border-radius:8px}
.jt-palette-pricing>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.jt-palette-pricing .jt-palette-grand{border-top:1px solid #ddd;margin-top:7px;padding-top:12px;font-size:17px;font-weight:700}
.jt-shade-price{display:block;margin-top:5px;font-size:12px}
.jt-shade-qty{position:absolute;top:6px;right:6px;border-radius:50px;min-width:22px;min-height:22px;padding:2px 5px;background:#111;color:#fff;font-size:12px;font-weight:700}
.jt-shade-card.is-exhausted{opacity:.55}
.jt-palette-slot.is-active{outline:3px solid #111;outline-offset:2px}
.jt-palette-slot img{object-fit:cover}
.jt-palette-slot .jt-slot-label{display:none}

/* Standalone WooCommerce add-to-cart form for a builder embedded in the product description. */
form.jt-palette-cart { display:block; width:100%; margin:0; }
.jt-palette-purchase { display:flex; flex-direction:column; align-items:center; gap:8px; margin:20px 0 30px; }
.jt-palette-purchase .single_add_to_cart_button { width:min(100%,430px); min-height:48px; font-size:16px; }
.jt-palette-cart-help { font-size:13px; margin:0; opacity:.75; text-align:center; }


/* v0.2.3 — precise palette pan placement + JT brand accent */
.jt-palette-builder { --jt-palette-accent: #c8102e; }
.jt-palette-builder .jt-palette-slot,
.jt-palette-builder .jt-palette-slot:hover,
.jt-palette-builder .jt-palette-slot:focus,
.jt-palette-builder .jt-palette-slot:active {
    appearance:none!important; -webkit-appearance:none!important;
    padding:0!important; margin:0!important; min-width:0!important;
    box-shadow:none!important; background:transparent!important;
    color:inherit!important; border:0!important; border-radius:7px!important;
    transition:none!important; transform:none!important;
}
.jt-palette-builder .jt-palette-slot.is-active,
.jt-palette-builder .jt-palette-slot.is-active:hover,
.jt-palette-builder .jt-palette-slot.is-active:focus {
    background:rgba(200,16,46,.12)!important;
    outline:2px solid var(--jt-palette-accent)!important; outline-offset:-2px!important;
}
.jt-palette-builder .jt-palette-slots-9 { left:13.1%; right:13.1%; top:18.6%; bottom:10.4%; gap:5.8%; }
.jt-palette-builder .jt-palette-slot img {
    width:100%!important; height:100%!important; object-fit:cover!important;
    object-position:50% 50%!important; transform:scale(2.05); transform-origin:center;
    max-width:none!important; border-radius:0!important;
}
.jt-palette-builder .jt-palette-slot:hover img {transform:scale(2.05)!important;}
.jt-palette-builder .jt-slot-number {color:#fff!important;opacity:.28;pointer-events:none;}
.jt-palette-builder .jt-shade-card.is-selected {border-color:var(--jt-palette-accent)!important; box-shadow:inset 0 0 0 2px var(--jt-palette-accent)!important;}
.jt-palette-builder .jt-shade-qty {background:var(--jt-palette-accent)!important;}
.jt-palette-builder .jt-shade-card.is-exhausted {opacity:.7; cursor:not-allowed!important; transform:none!important;}
.jt-palette-builder .jt-shade-card.is-out-of-stock {opacity:.7; cursor:not-allowed!important;}
.jt-palette-builder .jt-shade-card.is-exhausted:hover {transform:none!important;box-shadow:none!important;}
.jt-palette-builder .jt-shade-image-wrap {position:relative;isolation:isolate;}
.jt-palette-builder .jt-shade-unavailable {
    position:absolute; z-index:3; top:50%; left:0; right:0;
    transform:translateY(-50%); padding:9px 3px; background:rgba(20,20,20,.82);
    color:#fff!important; font-size:11px; line-height:1.25; letter-spacing:.09em;
    font-weight:700; text-align:center; pointer-events:none;
}
.jt-palette-builder .jt-shade-card.is-out-of-stock .jt-shade-image-wrap img {filter:grayscale(.65);}
.jt-palette-builder .jt-palette-purchase .single_add_to_cart_button:not(:disabled) {background:var(--jt-palette-accent)!important;color:#fff!important;border-color:var(--jt-palette-accent)!important;}

/* v0.2.4 — JT New Era soft mint accent, preserve red quantity indicators. */
.jt-palette-builder { --jt-palette-mint: #d9f1e0; --jt-palette-accent: #c8102e; }
.jt-palette-builder .jt-shade-card.is-selected,
.jt-palette-builder .jt-shade-card.is-selected:hover,
.jt-palette-builder .jt-shade-card.is-selected:focus,
.jt-palette-builder .jt-shade-card.is-selected:active {
    background: var(--jt-palette-mint) !important;
    background-color: var(--jt-palette-mint) !important;
    color:#202020 !important;
    border-color: var(--jt-palette-accent) !important;
    box-shadow: inset 0 0 0 2px var(--jt-palette-accent) !important;
}
.jt-palette-builder .jt-palette-slot.is-active,
.jt-palette-builder .jt-palette-slot.is-active:hover,
.jt-palette-builder .jt-palette-slot.is-active:focus {
    background: rgba(217,241,224,.7) !important;
    outline: 2px solid var(--jt-palette-accent) !important;
    outline-offset: -2px !important;
}
.jt-palette-builder .jt-shade-card.is-selected .jt-shade-qty {
    background: var(--jt-palette-accent) !important;
    color:#fff !important;
}
.jt-palette-builder .jt-palette-slots-9 {
    left:13.1%; right:13.1%; top:19.1%; bottom:9.6%;
}
.jt-palette-builder .jt-palette-slot img {
    object-fit:cover !important;
    object-position: 50% 50% !important;
}
.jt-palette-builder .jt-shade-card.is-out-of-stock .jt-shade-unavailable {
    display:block !important;
}
