:root{--blue:#0b5cff;--bg:#f6f8fb;--text:#172033;--muted:#758096;--line:#e5e9f0;--green:#16a34a}
*{box-sizing:border-box} body{margin:0;background:var(--bg);font-family:Arial,sans-serif;color:var(--text)}
button,select,input{font:inherit}.hidden{display:none!important}.muted{font-size:12px;color:var(--muted)}
.loader{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}
.spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:var(--blue);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.progress-shell{max-width:1280px;margin:0 auto;padding:18px 20px 0}.progress-label{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#7b8497;font-weight:800;margin:0 0 7px}.progress{display:flex;align-items:center;gap:7px;overflow:auto;padding:2px 0 10px;scrollbar-width:thin}.module-nav{display:flex;gap:8px;overflow:auto;padding:2px 0 10px;scrollbar-width:thin}.journey-step{display:flex;align-items:center;gap:7px;width:auto;min-width:max-content;margin:0;padding:8px 11px;background:#fff;color:#536077;border:1px solid var(--line);border-radius:10px;font-weight:700}.journey-step.active{background:#eaf1ff;color:var(--blue);border-color:#9fc0ff}.journey-number{display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border-radius:50%;background:#edf0f5;font-size:11px}.journey-step.active .journey-number{background:var(--blue);color:#fff}.journey-arrow{color:#9aa3b2;font-size:20px;line-height:1}
.step{width:auto;min-width:max-content;margin:0;padding:10px 14px;background:#fff;color:#536077;border:1px solid var(--line);border-radius:999px;font-weight:700}
.step:hover{background:#f0f5ff}.step.active{background:var(--blue);color:#fff;border-color:var(--blue)}.step.has-items:not(.active){border-color:#9fc0ff;color:#0b5cff}.step.initial-step:not(.active):before{content:"Inicio · ";font-size:10px;color:#7b8497}
.wrap{max-width:1280px;margin:auto;padding:12px 20px 30px;display:none;gap:28px;align-items:flex-start}.left{flex:1;min-width:0}.right{width:370px;position:sticky;top:18px;background:#fff;border-radius:18px;padding:20px;box-shadow:0 10px 28px rgba(20,38,70,.08);max-height:calc(100vh - 36px);overflow:auto}
.card{background:#fff;border-radius:15px;padding:18px;margin-bottom:15px;box-shadow:0 4px 14px rgba(20,38,70,.04)}.module-title{margin:0 0 6px;font-size:25px}.module-intro{margin:0 0 18px;color:#667085;line-height:1.5}.interest{display:inline-block;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#eaf1ff;color:var(--blue);font-size:11px;font-weight:700}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product{border:1px solid var(--line);border-radius:13px;padding:15px;background:#fff}.product.selected{border-color:#8cb2ff;box-shadow:0 0 0 2px #e8f0ff}.product h4{margin:0 0 8px;font-size:16px}.desc{white-space:pre-line;font-size:12px;color:#7b8497;line-height:1.45;margin-bottom:12px}.product-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.unit-price{font-size:13px;font-weight:700}.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;overflow:hidden}.qty button{width:34px;height:34px;margin:0;padding:0;border:0;border-radius:0;background:#f4f6f9;color:#243047}.qty input{width:76px;min-width:76px;height:36px;border:0;text-align:center;font-weight:700;outline:0;padding:0 6px;line-height:36px}.qty button{flex:0 0 38px;width:38px;height:36px}
.section-label{margin:22px 0 10px;font-size:18px}.vps-top{display:grid;grid-template-columns:2fr 1fr;gap:12px}.field label{display:block;margin-bottom:6px;font-size:12px;color:var(--muted)}select,.input{width:100%;height:44px;padding:10px 12px;border:1px solid #dfe3ea;border-radius:10px;background:#fff}.vps-group label{display:block;margin:9px 0}.vps-group .desc{margin-left:23px}.specs{line-height:1.7}.global-box{border:1px solid var(--line);border-radius:13px;margin-bottom:12px;overflow:hidden}.global-box summary{cursor:pointer;padding:12px 13px;font-weight:700;list-style:none}.global-box summary::-webkit-details-marker{display:none}.global-box .inside{padding:0 12px 12px}.global-current{float:right;color:var(--blue);font-size:12px;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.summary-title{font-size:18px;font-weight:800;margin:18px 0 10px}.empty{padding:16px 0;color:#8b94a6;font-size:13px}.sum-module{font-size:11px;color:#8b94a6;text-transform:uppercase;font-weight:700;margin:14px 0 5px}.sum-line{display:grid;grid-template-columns:1fr auto;gap:10px;padding:8px 0;border-bottom:1px solid #f0f2f5;font-size:13px}.sum-line small{display:block;color:#8b94a6;margin-top:3px}.totals{margin-top:15px}.total-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.total-final{font-size:23px;font-weight:800;padding-top:11px;margin-top:7px;border-top:1px solid var(--line)}
.action{width:100%;padding:14px;border:0;border-radius:10px;font-weight:800;margin-top:10px;cursor:pointer}.primary{background:var(--blue);color:#fff}.primary:hover{background:#004fe0}.secondary{background:#eaf1ff;color:#0b5cff}.dark{background:#111;color:#fff}.green{background:var(--green);color:#fff}.tools-sep{border:0;border-top:1px solid var(--line);margin:16px 0 4px}.notice{padding:10px 12px;background:#fff8e7;border-radius:9px;color:#8a6400;font-size:12px;margin:10px 0}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.52);display:none;align-items:center;justify-content:center;z-index:99999}.modal .box{width:94%;max-width:580px;background:#fff;border-radius:16px;padding:22px;max-height:90vh;overflow:auto}.row{display:flex;gap:10px}.row>div{flex:1}.actions{display:flex;gap:10px;margin-top:14px}.actions button{flex:1}.check{display:block;margin:12px 0}
@media(max-width:980px){.wrap{flex-direction:column}.right{position:relative;top:auto;width:100%;max-height:none}.grid{grid-template-columns:1fr}.vps-top{grid-template-columns:1fr}}
@media(max-width:650px){.wrap,.progress-shell{padding-left:12px;padding-right:12px}.row{flex-direction:column}.module-title{font-size:22px}}

/* v3: controles de cantidad y navegación resistentes al tema de WordPress */
.qty input[type="number"]{width:92px!important;min-width:92px!important;max-width:92px!important;display:block!important;visibility:visible!important;color:#172033!important;background:#fff!important;font-size:15px!important;line-height:38px!important;padding:0 8px!important;-moz-appearance:textfield}
.qty input[type="number"]::-webkit-inner-spin-button,.qty input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.progress-shell{background:#fff;border:1px solid var(--line);border-radius:15px;margin-top:14px;padding:14px 16px 6px!important;box-shadow:0 4px 14px rgba(20,38,70,.04)}
.progress,.module-nav{min-height:46px!important;display:flex!important;visibility:visible!important;opacity:1!important;flex-wrap:wrap!important;overflow:visible!important}
.journey-step,.step{display:inline-flex!important;visibility:visible!important;opacity:1!important;text-decoration:none!important;line-height:1.2!important;box-sizing:border-box!important;float:none!important}
.journey-step:hover,.step:hover{text-decoration:none!important}
.journey-empty{display:inline-block;color:#8b94a6;font-size:13px;padding:8px 0}
@media(max-width:650px){.progress,.module-nav{flex-wrap:nowrap!important;overflow-x:auto!important}.qty input[type="number"]{width:84px!important;min-width:84px!important;max-width:84px!important}}


/* v4: navegación compacta en una sola línea, siempre visible */
.progress-shell{position:relative;z-index:3;overflow:hidden!important;padding:10px 14px 7px!important;margin-top:10px!important}
.progress-label{margin-bottom:5px!important}
.progress{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;min-height:36px!important;padding:0 0 5px!important;white-space:nowrap!important}
.module-nav{display:none!important}
.step{flex:0 0 auto!important;min-width:0!important;padding:6px 9px!important;border-radius:9px!important;background:#f7f8fa!important;color:#9aa3b2!important;border-color:#edf0f4!important;font-size:12px!important;line-height:1!important;gap:5px!important}
.step:hover{background:#eef3ff!important;color:#45669c!important}
.step.visited{background:#f1f4f8!important;color:#58667b!important;border-color:#dfe5ed!important}
.step.active{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
.step.has-items:not(.active){box-shadow:inset 0 -2px 0 #8db2ff!important}
.step.initial-step:not(.active):before{content:""!important}
.step-index{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e8ebf0;color:#7e8999;font-size:10px;font-weight:800}
.step.active .step-index{background:rgba(255,255,255,.22);color:#fff}
.step.visited .step-index{background:#dfe5ed;color:#58667b}
.step-arrow{flex:0 0 auto;color:#c4cad3;font-size:15px;line-height:1}
.right{z-index:2}
@media(max-width:650px){.step{padding:6px 8px!important}.step-text{max-width:150px;overflow:hidden;text-overflow:ellipsis}}


/* v5: navegación completamente aislada del tema y compacta */
.cbw-progress{display:flex!important;align-items:center!important;gap:5px!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important;min-height:34px!important;padding:0 0 4px!important;white-space:nowrap!important;width:100%!important}
.cbw-step{display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;width:auto!important;min-width:0!important;height:30px!important;margin:0!important;padding:5px 9px!important;border:1px solid #edf0f4!important;border-radius:8px!important;background:#f7f8fa!important;color:#9aa3b2!important;font-size:12px!important;font-weight:700!important;line-height:1!important;gap:5px!important;box-shadow:none!important;text-transform:none!important;letter-spacing:0!important}
.cbw-step:hover{background:#eef3ff!important;color:#45669c!important}
.cbw-step.visited{background:#f1f4f8!important;color:#58667b!important;border-color:#dfe5ed!important}
.cbw-step.active{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}
.cbw-step.has-items:not(.active){box-shadow:inset 0 -2px 0 #8db2ff!important}
.cbw-step-index{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;border-radius:50%!important;background:#e8ebf0!important;color:#7e8999!important;font-size:10px!important;font-weight:800!important}
.cbw-step.active .cbw-step-index{background:rgba(255,255,255,.22)!important;color:#fff!important}
.cbw-step.visited .cbw-step-index{background:#dfe5ed!important;color:#58667b!important}
.cbw-step-arrow{flex:0 0 auto!important;color:#c4cad3!important;font-size:14px!important;line-height:1!important}
@media(max-width:650px){.cbw-step{padding:5px 8px!important}.cbw-step-text{max-width:145px!important;overflow:hidden!important;text-overflow:ellipsis!important}}

/* v6: modal único para compartir propuesta */
.share-box{max-width:650px!important}.share-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.icon-close{width:36px;height:36px;border:0;border-radius:50%;background:#f1f4f8;color:#536077;font-size:24px;line-height:1;cursor:pointer}.share-status{padding:11px 12px;border-radius:9px;background:#f6f8fb;color:#536077;font-size:13px;margin-bottom:10px}.share-status.ok{background:#eefbf2;color:#137333}.share-status.error{background:#fff1f0;color:#b42318}.share-url-row{display:flex;gap:8px}.share-url-row .input{min-width:0}.mini-action{flex:0 0 auto;border:0;border-radius:9px;background:#172033;color:#fff;padding:0 15px;font-weight:800;cursor:pointer}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.share-option{margin:0!important;min-height:76px;border:1px solid #e5e9f0;border-radius:12px;background:#fff;padding:13px;text-align:left;cursor:pointer;color:#172033}.share-option strong,.share-option span{display:block}.share-option span{font-size:12px;color:#758096;margin-top:4px}.share-option.whatsapp:hover{border-color:#25d366;background:#f1fff6}.share-option.pdf:hover{border-color:#172033;background:#f6f8fb}.email-share{border-top:1px solid #e5e9f0;margin-top:16px;padding-top:16px}@media(max-width:650px){.share-grid{grid-template-columns:1fr}.share-url-row{flex-direction:column}.mini-action{height:42px}}


/* v10: navegación móvil desplazable y contratación definitiva */
.progress-shell{overflow:visible!important}
.cbw-progress{-webkit-overflow-scrolling:touch!important;scroll-behavior:smooth!important;overscroll-behavior-x:contain!important;scrollbar-width:thin!important}
.cbw-progress:after{content:"";flex:0 0 14px;height:1px}
.order-box{max-width:680px!important}.order-accept{padding:12px;border:1px solid #dfe6f1;border-radius:10px;background:#f8faff;line-height:1.45}.order-success{text-align:center;padding:12px 2px}.order-success h3{font-size:24px;margin:0 0 10px}.order-success p{color:#536077;line-height:1.5}.order-link{display:block;text-decoration:none}.transfer-box{text-align:left;margin:18px 0;padding:16px;border:1px solid #dfe6f1;border-radius:12px;background:#f8faff;line-height:1.55;color:#334155}
@media(max-width:650px){
  .progress-shell{padding-left:12px!important;padding-right:0!important;border-radius:0!important;border-left:0!important;border-right:0!important}
  .cbw-progress{width:calc(100vw - 12px)!important;padding-right:18px!important}
  .cbw-step{max-width:none!important}
  .cbw-step-text{max-width:125px!important}
  .modal{align-items:flex-end!important}
  .modal .box{width:100%!important;max-width:none!important;border-radius:18px 18px 0 0!important;max-height:94vh!important;padding:18px!important}
}


/* Estado persistente de pedido por token */
.cbw-order-status{margin:14px 0;padding:14px 16px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;display:flex;flex-direction:column;gap:4px;font-size:13px;line-height:1.45}.cbw-order-status strong{font-size:15px;color:#0f172a}.cbw-order-status span{color:#475569}.cbw-order-status.is-paid{border-color:#86efac;background:#f0fdf4}.cbw-order-status.is-paid strong{color:#166534}.cbw-order-status.is-registered{border-color:#bfdbfe;background:#eff6ff}.cbw-order-status.is-registered strong{color:#1d4ed8}.action.is-locked,.action:disabled{cursor:not-allowed;opacity:.68}

/* v20: estado del pedido dentro del panel derecho, sin alterar columnas */
.right .cbw-order-status{width:100%;margin:12px 0 2px}
