/* LNB personalizer: compact, no framework. Swatches + pills + 1 input + overlay. */
.lnb-personalizer{position:static!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;border:1px solid #e5e0d8;border-radius:10px;padding:14px;margin:14px 0;font-size:14px;background-color:#fff!important;opacity:1!important}
.lnb-personalizer legend{font-weight:700;padding:0 6px}
.lnb-p-group{margin:10px 0}
.lnb-p-label{display:block;font-weight:600;margin-bottom:6px}
.lnb-p-swatches{display:flex;flex-wrap:wrap;gap:6px}
.lnb-swatch{cursor:pointer}
.lnb-swatch input{position:absolute;opacity:0;width:1px;height:1px}
.lnb-dot{display:block;width:24px;height:24px;border-radius:50%;border:1px solid rgba(0,0,0,.25);box-shadow:inset 0 0 0 2px #fff}
.lnb-swatch input:checked+.lnb-dot{outline:2px solid #111;outline-offset:2px}
.lnb-swatch input:focus-visible+.lnb-dot{outline:2px solid #111;outline-offset:2px}
.lnb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.lnb-p-fonts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.lnb-font{border:1px solid #e5e0d8;border-radius:8px;padding:6px 4px;text-align:center;cursor:pointer}
.lnb-font input{position:absolute;opacity:0;width:1px;height:1px}
.lnb-font:has(input:checked){border-color:#111;box-shadow:0 0 0 1px #111}
.lnb-font-preview{display:block;font-size:22px;line-height:1.1}
.lnb-font-name{display:block;font-size:11px;color:#555}
.lnb-p-sizes{display:flex;gap:6px}
.lnb-size{border:1px solid #e5e0d8;border-radius:999px;padding:6px 12px;cursor:pointer}
.lnb-size input{position:absolute;opacity:0;width:1px;height:1px}
.lnb-size:has(input:checked){border-color:#111;box-shadow:0 0 0 1px #111}
.lnb-p-text{box-sizing:border-box;width:min(100%, 18rem);text-transform:uppercase;letter-spacing:.2em;text-align:center;font-size:18px;padding:6px;border:1px solid #ccc;border-radius:8px}
.lnb-p-hint{font-size:12px;color:#666;margin:6px 0 0}
.lnb-p-count{font-size:12px;font-variant-numeric:tabular-nums;color:#555;text-align:right;margin:2px 0 0}
.lnb-p-price{border-top:1px solid #e5e0d8;margin-top:12px;padding-top:8px}
.lnb-p-price-note,.lnb-p-price-total{font-size:13px;margin:4px 0}
.lnb-p-price-total{font-weight:600}
/* Overlay sobre la foto: un div, sin canvas. */
.woocommerce-product-gallery{position:relative}
.lnb-p-overlay{position:absolute;z-index:5;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap;text-shadow:0 1px 0 rgba(255,255,255,.6)}
@media (max-width:640px){.lnb-p-fonts{grid-template-columns:repeat(2,1fr)}}
