@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@400;600&family=Sacramento&display=swap');
.neon-config-dialog{width:min(1180px,calc(100vw - 24px));max-height:calc(100vh - 24px);padding:0;border:0;border-radius:22px;overflow:hidden;color:#0c1d39;background:#f5f8fc;box-shadow:0 30px 90px rgba(4,18,40,.35)}.neon-config-dialog::backdrop{background:rgba(6,20,43,.72)}.neon-config-head{padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #dbe4ef;background:#fff}.neon-config-head h2{margin:4px 0 0}.neon-config-head button{padding:10px 14px;border:1px solid #cbd8e9;border-radius:10px;background:#fff;font-weight:900}.neon-config-body{max-height:calc(100vh - 92px);overflow:auto;padding:20px}.neon-config-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:18px}.neon-controls{display:grid;gap:13px}.neon-progress{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}.neon-progress span{height:5px;border-radius:9px;background:#d9e3f0}.neon-progress span.active{background:#1268ee}.neon-section{padding:17px;border:1px solid #dbe4ef;border-radius:15px;background:#fff}.neon-section h3{margin:0 0 5px;font-size:17px}.neon-section>p{margin:0 0 13px;color:#61708a;font-size:13px}.neon-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}.neon-choice{min-height:62px;padding:10px;position:relative;display:grid;place-items:center;gap:5px;text-align:center;border:1px solid #c9d6e7;border-radius:11px;background:#fff;cursor:pointer}.neon-choice.selected{border:2px solid #1268ee;background:#edf5ff}.neon-choice:disabled{opacity:.48;cursor:not-allowed}.neon-choice small,.neon-choice em{display:block;color:#61708a;font-size:10px;font-style:normal}.neon-choice .swatch{width:28px;height:28px;border-radius:99px;box-shadow:0 0 13px currentColor}.neon-route-grid{grid-template-columns:repeat(3,1fr)}.neon-route-grid .neon-choice{min-height:110px;align-content:center}.neon-route-grid strong{font-size:15px}.neon-text-fields{display:grid;gap:8px}.neon-text-fields label{display:grid;gap:5px;font-size:12px;font-weight:800}.neon-text-fields input{padding:11px;border:1px solid #c9d6e7;border-radius:10px}.neon-preview-column{position:relative}.neon-preview-sticky{position:sticky;top:0;display:grid;gap:12px}.neon-room{min-height:420px;position:relative;overflow:hidden;border-radius:18px;background:#152137 center/cover no-repeat;box-shadow:0 18px 50px rgba(12,29,57,.18)}.neon-room:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.02))}.neon-sign{width:var(--neon-width,60%);min-height:110px;padding:22px;position:absolute;z-index:2;left:50%;top:44%;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);text-align:center;transition:.2s}.neon-sign.base-rectangular{border:2px solid rgba(235,244,255,.45);border-radius:10px;background:rgba(235,244,255,.06)}.neon-sign.base-round{aspect-ratio:1;border:2px solid rgba(235,244,255,.45);border-radius:50%;background:rgba(235,244,255,.06)}.neon-sign.base-cut-out{border:2px solid rgba(235,244,255,.45);border-radius:38% 30% 42% 28%/28% 42% 30% 38%;background:rgba(235,244,255,.05)}.neon-live-lines{display:grid;gap:2px}.neon-live-line{color:var(--neon-color);font-family:var(--neon-font);font-size:clamp(25px,4.2vw,58px);line-height:1.02;text-shadow:0 0 2px #fff,0 0 7px var(--neon-color),0 0 18px var(--neon-glow),0 0 35px var(--neon-glow);white-space:nowrap}.neon-live-art{max-width:88%;max-height:190px;object-fit:contain;filter:drop-shadow(0 0 5px var(--neon-color)) drop-shadow(0 0 18px var(--neon-glow))}.neon-preview-badge{position:absolute;z-index:3;right:12px;bottom:12px;padding:7px 9px;border-radius:99px;background:rgba(255,255,255,.9);font-size:10px;font-weight:900}.neon-price-card{padding:17px;display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;border-radius:15px;color:#fff;background:#0c1d39}.neon-price-card small{color:#b9c9de}.neon-price-card strong{font-size:28px}.neon-summary{grid-column:1/-1;display:grid;gap:5px;font-size:12px}.neon-submit{grid-column:1/-1;padding:13px;border:0;border-radius:11px;color:#fff;background:#1268ee;font-weight:900;cursor:pointer}.neon-submit.quote{background:#8b5a00}.neon-upload{padding:18px;display:grid;place-items:center;text-align:center;border:1px dashed #91acd1;border-radius:12px;background:#f5f9ff}.neon-upload input{max-width:100%}.neon-established-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.neon-established-card{padding:0;overflow:hidden;text-align:left;border:1px solid #c9d6e7;border-radius:12px;background:#fff}.neon-established-card.selected{border:2px solid #1268ee}.neon-established-card img{width:100%;height:105px;object-fit:contain;background:#f2f6fb}.neon-established-card span{padding:9px;display:block}.neon-hidden{display:none!important}@media(max-width:850px){.neon-config-layout{grid-template-columns:1fr}.neon-preview-column{grid-row:1}.neon-preview-sticky{position:static}.neon-room{min-height:320px}.neon-route-grid{grid-template-columns:1fr}.neon-config-body{padding:13px}}@media(max-width:520px){.neon-config-dialog{width:100vw;max-height:100vh;border-radius:0}.neon-config-body{max-height:calc(100vh - 78px)}.neon-room{min-height:270px}.neon-established-grid{grid-template-columns:1fr}.neon-progress{grid-template-columns:repeat(4,1fr)}.neon-section{padding:14px}}
/* Ajuste realista de bases y contorno Neon. */
.neon-live-lines{width:100%;place-items:center}
.neon-live-line{max-width:100%;position:relative;z-index:1;text-align:center}
.neon-sign.base-cut-out{border:0!important;border-radius:0!important;background:transparent!important}
.neon-sign.base-cut-out .neon-live-line:before,.neon-sign.base-cut-out .neon-live-line:after{content:attr(data-neon-outline);position:absolute;inset:0;color:transparent;font:inherit;line-height:inherit;text-align:inherit;white-space:nowrap;paint-order:stroke fill;text-shadow:none}
.neon-sign.base-cut-out .neon-live-line:before{z-index:-1;-webkit-text-stroke:.48em rgba(232,241,248,.09);filter:drop-shadow(0 0 .8px rgba(35,45,55,.88)) drop-shadow(0 2px 2px rgba(15,29,48,.2))}
.neon-sign.base-cut-out .neon-live-line:after{display:none}
.neon-cutout-svg{width:100%;height:auto;overflow:visible}
