/* ════════════════════════════════════════════════════════════════
   EDITAR LA COTIZACIÓN DENTRO DE LA VENTANA · css/cotizacion-editor.css
   (2026-10-15) · ver js/cotizacion-editor.js
   Mismo lenguaje visual de la ventana «¡Tu cotización está lista!»:
   negro, lima #bdff06, bordes suaves y botones pegados abajo.
   ════════════════════════════════════════════════════════════════ */
#rs-cq .rs-ce{ animation:rsCeIn .22s ease both; color:#1b1b1b; }
@keyframes rsCeIn{ from{ opacity:0; transform:translateY(6px); } to{ opacity:1; transform:none; } }

/* Cabecera */
#rs-cq .rs-ce-cab{ display:flex; align-items:center; gap:12px; margin:0 40px 6px 0; }
#rs-cq .rs-ce-cab img{ flex:0 0 46px; width:46px; height:46px; object-fit:cover; border-radius:10px; background:#f1f1f1; }
#rs-cq .rs-ce-cab-ico{ flex:0 0 42px; width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%;
  background:#bdff06; color:#111; }
#rs-cq .rs-ce-cab .rs-cq-tit{ margin:0 !important; }
#rs-cq .rs-ce-sub{ margin:2px 0 0; font-size:.8rem; line-height:1.35; color:#777; }

/* Campos */
#rs-cq .rs-ce-campos{ margin:0; }
#rs-cq .rs-ce-campo{ margin:0; padding:14px 0 12px; border-bottom:1px solid #f0f0f0; transition:background .3s ease; }
#rs-cq .rs-ce-campo:last-child{ border-bottom:0; }
#rs-cq .rs-ce-etq{ margin:0 0 8px; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#8a8a8a; line-height:1.3; }
#rs-cq .rs-ce-campo--err .rs-ce-etq{ color:#c62828; }
#rs-cq .rs-ce-campo--aviso{ background:#fffbea; }

/* Opciones (chips y lista) */
#rs-cq .rs-ce-ops{ display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
#rs-cq .rs-ce-op{ position:relative; display:inline-flex; align-items:center; gap:10px; min-height:44px; margin:0; padding:8px 12px; box-sizing:border-box;
  border:1.5px solid #e2e2e2; border-radius:10px; background:#fff; color:#111; font:inherit; font-size:.9rem; line-height:1.25; text-align:left;
  cursor:pointer; box-shadow:none; text-transform:none; letter-spacing:0; transition:border-color .15s ease, background .15s ease, transform .1s ease; }
#rs-cq .rs-ce-op:hover{ border-color:#111; }
#rs-cq .rs-ce-op:active{ transform:scale(.98); }
#rs-cq .rs-ce-op:focus-visible, #rs-cq .rs-ce-pm:focus-visible, #rs-cq .rs-ce-atajo:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }
#rs-cq .rs-ce-op-t{ display:flex; flex-direction:column; gap:1px; min-width:0; }
#rs-cq .rs-ce-op b{ font-weight:800; font-size:inherit; color:inherit; }
#rs-cq .rs-ce-op small{ font-size:.76rem; font-weight:500; color:#6b6b6b; line-height:1.3; }
#rs-cq .rs-ce-op i{ font-style:normal; font-size:.76rem; font-weight:700; color:#128c3f; line-height:1.3; }
#rs-cq .rs-ce-op.on{ border-color:#111; background:#bdff06; }
#rs-cq .rs-ce-op.on small{ color:#333; }
#rs-cq .rs-ce-op.on i{ color:#111; }
/* Chips */
#rs-cq .rs-ce-ops--chips .rs-ce-op{ flex:0 1 auto; flex-direction:column; align-items:flex-start; justify-content:center; }
/* Lista (materiales con foto o con descripción) */
#rs-cq .rs-ce-ops--lista{ flex-direction:column; flex-wrap:nowrap; }
#rs-cq .rs-ce-ops--lista .rs-ce-op{ display:flex; width:100%; padding:8px 40px 8px 12px; }
#rs-cq .rs-ce-ops--lista .rs-ce-op::after{ content:''; position:absolute; right:14px; top:50%; width:18px; height:18px; margin-top:-9px; box-sizing:border-box;
  border:2px solid #cfcfcf; border-radius:50%; background:#fff; }
#rs-cq .rs-ce-ops--lista .rs-ce-op.on{ background:#f6ffe0; }
#rs-cq .rs-ce-ops--lista .rs-ce-op.on::after{ border:5px solid #111; background:#bdff06; }
#rs-cq .rs-ce-op--img{ padding-left:8px !important; }
#rs-cq .rs-ce-op--img img{ flex:0 0 44px; width:44px; height:44px; object-fit:cover; border-radius:8px; background:#eee; }
/* Casillas (varias a la vez) */
#rs-cq .rs-ce-op[role="checkbox"]{ padding-right:38px; }
#rs-cq .rs-ce-tick{ position:absolute; right:12px; top:50%; width:18px; height:18px; margin-top:-9px; box-sizing:border-box; border:2px solid #cfcfcf; border-radius:5px; background:#fff; }
#rs-cq .rs-ce-op.on .rs-ce-tick{ border-color:#111; background:#111; }
#rs-cq .rs-ce-op.on .rs-ce-tick::after{ content:''; position:absolute; left:4px; top:0; width:5px; height:10px; border:solid #bdff06; border-width:0 2px 2px 0; transform:rotate(45deg); }
#rs-cq .rs-ce-ops--lista .rs-ce-op[role="checkbox"]::after{ display:none; }

/* Lista desplegable (muchas opciones) */
#rs-cq .rs-ce-selw{ position:relative; }
#rs-cq .rs-ce-selw::after{ content:''; position:absolute; right:16px; top:50%; width:8px; height:8px; margin-top:-6px; border:solid #111; border-width:0 2px 2px 0; transform:rotate(45deg); pointer-events:none; }
#rs-cq .rs-ce-sel{ display:block; width:100%; min-height:48px; margin:0; padding:10px 40px 10px 14px; box-sizing:border-box; border:2px solid #d9d9d9; border-radius:10px;
  background:#fff; color:#111; font:inherit; font-size:16px; font-weight:700; -webkit-appearance:none; appearance:none; cursor:pointer; }
#rs-cq .rs-ce-sel:focus{ outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(189,255,6,.55); }

/* Medidas y cantidades */
#rs-cq .rs-ce-ins{ display:flex; align-items:flex-end; gap:8px; }
#rs-cq .rs-ce-in{ flex:1 1 0; min-width:0; }
#rs-cq .rs-ce-in label{ display:block; margin:0 0 4px; font-size:.78rem; font-weight:700; color:#555; }
#rs-cq .rs-ce-in-c{ position:relative; display:flex; align-items:stretch; }
#rs-cq .rs-ce-in input{ display:block; width:100%; min-width:0; min-height:48px; margin:0; padding:10px 44px 10px 14px; box-sizing:border-box;
  border:2px solid #d9d9d9; border-radius:10px; background:#fff; color:#111; font:inherit; font-size:16px; font-weight:800; box-shadow:none;
  font-variant-numeric:tabular-nums; }
#rs-cq .rs-ce-in input:focus{ outline:none; border-color:#111; box-shadow:0 0 0 3px rgba(189,255,6,.55); }
#rs-cq .rs-ce-campo--err .rs-ce-in input, #rs-cq .rs-ce-campo--err .rs-ce-sel{ border-color:#e53935; }
#rs-cq .rs-ce-in em{ position:absolute; right:12px; top:50%; transform:translateY(-50%); font-style:normal; font-size:.82rem; color:#888; pointer-events:none; }
#rs-cq .rs-ce-x{ flex:0 0 auto; padding:0 0 13px; font-weight:800; color:#999; }
/* Cantidad con − / + */
#rs-cq .rs-ce-ins--step .rs-ce-in-c{ gap:6px; }
#rs-cq .rs-ce-ins--step input{ text-align:center; padding-left:10px; padding-right:10px; }
#rs-cq .rs-ce-ins--step .rs-ce-in em{ display:none; }
#rs-cq .rs-ce-pm{ flex:0 0 48px; width:48px; min-height:48px; margin:0; padding:0; border:2px solid #e2e2e2; border-radius:10px; background:#f6f6f2;
  color:#111; font:inherit; font-size:1.3rem; font-weight:800; line-height:1; cursor:pointer; }
#rs-cq .rs-ce-pm:hover{ border-color:#111; background:#bdff06; }
#rs-cq .rs-ce-atajos{ display:flex; flex-wrap:wrap; gap:6px; margin:8px 0 0; }
#rs-cq .rs-ce-atajo{ min-height:34px; margin:0; padding:5px 11px; border:1.5px solid #e2e2e2; border-radius:999px; background:#fff; color:#111;
  font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; }
#rs-cq .rs-ce-atajo:hover{ border-color:#111; background:#f6ffe0; }

/* Notas, errores y avisos de compatibilidad */
#rs-cq .rs-ce-nota{ margin:7px 0 0; font-size:.78rem; line-height:1.4; color:#6b6b6b; }
#rs-cq .rs-ce-err{ margin:7px 0 0; padding:7px 10px; border-radius:8px; background:#fdecea; color:#b71c1c; font-size:.8rem; font-weight:700; line-height:1.4; }
#rs-cq .rs-ce-aviso{ margin:10px 0 0; padding:10px 12px 10px 36px; position:relative; border:1px solid #f1d27b; border-radius:10px; background:#fff8e1;
  color:#5f4500; font-size:.8rem; line-height:1.45; animation:rsCeIn .25s ease both; }
#rs-cq .rs-ce-aviso::before{ content:'!'; position:absolute; left:11px; top:10px; width:17px; height:17px; border-radius:50%; background:#f0b400; color:#fff;
  font-size:.72rem; font-weight:900; line-height:17px; text-align:center; }
#rs-cq .rs-ce-aviso p{ margin:0; }
#rs-cq .rs-ce-aviso p + p{ margin-top:4px; }

/* Pie fijo: total en vivo + acciones */
#rs-cq .rs-ce-pie{ margin-top:12px; }
#rs-cq .rs-ce-vivo{ display:grid; grid-template-columns:1fr auto; align-items:baseline; column-gap:10px; margin:0; padding:10px 14px; border-radius:12px;
  background:#111; color:rgba(255,255,255,.7); }
#rs-cq .rs-ce-vivo span{ font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
#rs-cq .rs-ce-vivo b{ grid-row:span 2; align-self:center; color:#bdff06; font-size:1.45rem; font-weight:900; letter-spacing:-.5px; font-variant-numeric:tabular-nums; white-space:nowrap; }
#rs-cq .rs-ce-vivo small{ font-size:.74rem; color:rgba(255,255,255,.6); line-height:1.3; }
#rs-cq .rs-ce-vivo--pend{ background:#fff4e0; color:#7a4f00; grid-template-columns:1fr; }
#rs-cq .rs-ce-vivo.rs-ce-vivo--pend b{ grid-row:auto; color:#4a3000; font-size:.98rem; letter-spacing:0; white-space:normal; }
#rs-cq .rs-ce-vivo--pend small{ color:#7a4f00; }
#rs-cq .rs-ce-vivo.rs-ce-vivo--sol b{ font-size:1.15rem; }
#rs-cq .rs-ce-btns{ display:grid; grid-template-columns:1fr 1.45fr; gap:8px; margin:10px 0 0; }
#rs-cq .rs-ce-btns .rs-cq-btn{ min-height:48px; margin:0; padding:10px 12px; font-size:.92rem; line-height:1.2; }
#rs-cq .rs-ce-act{ background:#111 !important; color:#fff !important; border-color:#111 !important; }
#rs-cq .rs-ce-act:hover{ background:#2b2b2b !important; }
#rs-cq .rs-ce-act svg{ flex:0 0 auto; color:#bdff06; }
#rs-cq .rs-ce-cancel{ background:#fff !important; color:#111 !important; border:2px solid #d9d9d9 !important; }
#rs-cq .rs-ce-cancel:hover{ border-color:#111 !important; background:#fff !important; }
@media (max-width:400px){
  #rs-cq .rs-ce-btns{ grid-template-columns:1fr; }
  #rs-cq .rs-ce-btns .rs-ce-act{ order:-1; }
  #rs-cq .rs-ce-btns .rs-ce-cancel{ min-height:42px; }
}
@media (max-width:560px){
  #rs-cq .rs-ce-campo{ padding:12px 0 10px; }
  #rs-cq .rs-ce-op{ font-size:.86rem; min-height:40px; }
  #rs-cq .rs-ce-ops--lista .rs-ce-op{ padding-top:6px; padding-bottom:6px; }
  #rs-cq .rs-ce-op--img img{ flex-basis:36px; width:36px; height:36px; border-radius:7px; }
  #rs-cq .rs-ce-vivo b{ font-size:1.3rem; }
  #rs-cq .rs-ce-vivo{ padding:8px 12px; }
  #rs-cq .rs-ce-btns{ margin-top:8px; gap:6px; }
}

/* Total recién actualizado en el resumen */
#rs-cq .rs-cq-tot.rs-ce-nuevo{ animation:rsCeNuevo 1.1s ease both; }
@keyframes rsCeNuevo{ 0%{ box-shadow:0 0 0 0 rgba(189,255,6,.9); } 60%{ box-shadow:0 0 0 10px rgba(189,255,6,0); } 100%{ box-shadow:none; } }
@media (prefers-reduced-motion: reduce){
  #rs-cq .rs-ce, #rs-cq .rs-ce-aviso, #rs-cq .rs-cq-tot.rs-ce-nuevo{ animation:none; }
}
