/* Resumen flotante de cotización (copiado de stickers · rs-cq-css). Ver js/cotizacion-resumen.js */
.rs-cq{ position:fixed; inset:0; z-index:2147483000; display:flex; align-items:center; justify-content:center; padding:16px; font-family:inherit; }
.rs-cq[hidden]{ display:none !important; }
.rs-cq-fondo{ position:absolute; inset:0; background:rgba(12,14,16,.62); opacity:0; transition:opacity .2s ease; }
.rs-cq-caja{ position:relative; width:100%; max-width:460px; max-height:calc(100vh - 32px); overflow:auto; background:#fff; color:#1b1b1b;
  border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.35); padding:22px 22px 18px; transform:translateY(14px); opacity:0;
  transition:transform .22s ease, opacity .22s ease; -webkit-overflow-scrolling:touch; box-sizing:border-box; }
.rs-cq.on .rs-cq-fondo{ opacity:1; }
.rs-cq.on .rs-cq-caja{ transform:none; opacity:1; }
.rs-cq-x{ position:absolute; top:10px; right:10px; width:36px; height:36px; border:0; border-radius:50%; background:#f1f1f1; color:#333;
  font-size:20px; line-height:36px; text-align:center; cursor:pointer; padding:0; }
.rs-cq-x:hover{ background:#e2e2e2; }
.rs-cq-tit{ margin:0 40px 8px 0; font-size:1.22rem; font-weight:800; line-height:1.25; color:#111; }
.rs-cq-intro{ margin:0 0 14px; font-size:.93rem; line-height:1.5; color:#555; }
.rs-cq-filas{ margin:0; padding:0; }
.rs-cq-fila{ display:flex; justify-content:space-between; gap:14px; padding:8px 0; border-bottom:1px solid #eee; font-size:.93rem; line-height:1.4; }
.rs-cq-fila dt{ margin:0; color:#666; font-weight:600; flex:0 0 auto; }
.rs-cq-fila dd{ margin:0; text-align:right; font-weight:700; color:#1b1b1b; word-break:break-word; }
.rs-cq-montos{ margin:12px 0 0; padding:12px 14px; background:#f6f7f4; border-radius:10px; }
.rs-cq-montos .rs-cq-fila{ border-bottom:0; padding:4px 0; }
.rs-cq-montos .rs-cq-total{ margin-top:6px; padding-top:10px; border-top:2px solid #1b1b1b; font-size:1.08rem; }
.rs-cq-montos .rs-cq-total dt, .rs-cq-montos .rs-cq-total dd{ color:#111; font-weight:800; }
.rs-cq-montos .rs-cq-precio dt, .rs-cq-montos .rs-cq-precio dd{ color:#111; font-weight:800; font-size:1.05rem; }
.rs-cq-extra-tit{ margin:16px 0 2px; font-size:.78rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#777; }
.rs-cq-extra .rs-cq-fila{ font-size:.86rem; }
.rs-cq-btns{ display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.rs-cq-btn{ display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:48px; padding:12px 16px; border-radius:10px; box-sizing:border-box;
  font:inherit; font-size:1rem; font-weight:800; cursor:pointer; border:2px solid transparent; text-decoration:none; }
.rs-cq-btn--wa{ background:#25D366; color:#fff; }
.rs-cq-btn--wa:hover{ background:#1ebe5a; }
.rs-cq-btn--pri{ background:#1b1b1b; color:#fff; }
.rs-cq-btn--pri:hover{ background:#333; }
.rs-cq-btn--ed{ background:#fff; color:#1b1b1b; border-color:#1b1b1b; }
.rs-cq-btn--ed:hover{ background:#f3f3f3; }
.rs-cq-btn:focus-visible, .rs-cq-x:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }
.rs-cq-comp{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px; margin-top:8px; }
.rs-cq-comp button{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-height:52px; padding:6px 4px; line-height:1.15;
  border:1px solid #cfd3c7; border-radius:10px; background:#f4f5f0; color:#111; font:inherit; font-size:.84rem; font-weight:700; cursor:pointer; }
.rs-cq-comp button:hover{ background:#bdff06; border-color:#111; }
.rs-cq-comp .rs-cq-comp-ed{ background:#fff; border:2px solid #1b1b1b; }
/* Filas con texto largo (p. ej. opciones): etiqueta arriba y valor a todo el ancho */
.rs-cq-fila--larga{ flex-direction:column; gap:2px; }
.rs-cq-fila--larga dd{ text-align:left; font-weight:600; font-size:.85rem; color:#333; line-height:1.4; }
@media (max-width:560px){
  .rs-cq-caja{ padding:16px 16px 14px; }
  .rs-cq-tit{ font-size:1.1rem; margin-bottom:6px; }
  .rs-cq-prod{ margin-bottom:8px; padding:6px; }
  .rs-cq-prod img{ width:52px; height:52px; flex-basis:52px; }
  .rs-cq-fila{ padding:6px 0; font-size:.88rem; }
  .rs-cq-montos{ margin-top:8px; padding:8px 12px; }
  .rs-cq-montos .rs-cq-total{ margin-top:4px; padding-top:7px; }
  .rs-cq-btns{ margin-top:12px; }
  .rs-cq-nota{ margin-top:8px; font-size:.7rem; }
}
.rs-cq-comp button[disabled]{ opacity:.6; cursor:wait; }
.rs-cq-comp button:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }
.rs-cq-fila--min{ padding:9px 0 !important; border-bottom:1px solid #f0f0f0; }
.rs-cq-fila--min dt{ font-weight:500; color:#8a8a8a; font-size:.86rem; }
.rs-cq-fila--min dd{ font-weight:700; font-size:.95rem; }
.rs-cq-tot{ margin:16px 0 4px; padding:0; }
.rs-cq-tot span{ display:block; font-size:.74rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8a8a8a; }
.rs-cq-tot b{ display:block; margin-top:2px; font-size:2.3rem; font-weight:900; letter-spacing:-1px; line-height:1.05; color:#111;
  background:linear-gradient(transparent 68%, #bdff06 68%, #bdff06 92%, transparent 92%); width:max-content; padding:0 2px; }
.rs-cq-tot small{ display:block; margin-top:6px; font-size:.78rem; color:#8a8a8a; }
.rs-cq-extra-min{ margin:8px 0 0; font-size:.76rem; color:#8a8a8a; }
.rs-cq-msg{ min-height:1em; margin:6px 0 0; font-size:.8rem; color:#3b6d00; text-align:center; }
.rs-cq-nota{ margin:12px 0 0; font-size:.76rem; line-height:1.45; color:#777; text-align:center; }
/* Mini cotizador dentro de la ventana */
.rs-cq-ctx{ margin:0 0 12px; font-size:.84rem; color:#666; line-height:1.4; }
.rs-cq-ctx b{ color:#1b1b1b; }
.rs-cq-paso-tit{ margin:4px 0 12px; font-size:1.02rem; font-weight:800; color:#111; line-height:1.3; }
.rs-cq-paso-tit span{ display:inline-flex; width:24px; height:24px; margin-right:8px; border-radius:50%; background:#1b1b1b; color:#fff;
  font-size:.8rem; align-items:center; justify-content:center; vertical-align:1px; }
.rs-cq-ops{ display:grid; grid-template-columns:repeat(auto-fill, minmax(118px, 1fr)); gap:8px; }
.rs-cq-ops--lista{ grid-template-columns:1fr; }
.rs-cq-op{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:52px; padding:10px 12px; border:2px solid #e2e2e2; border-radius:10px;
  background:#fff; color:#1b1b1b; font:inherit; text-align:left; cursor:pointer; box-sizing:border-box; transition:border-color .15s ease, background .15s ease; }
.rs-cq-op b{ font-size:.95rem; font-weight:800; line-height:1.25; }
.rs-cq-op small{ font-size:.78rem; color:#6b6b6b; line-height:1.3; }
.rs-cq-op:hover{ border-color:#25D366; background:#f5fdf8; }
.rs-cq-op.on{ border-color:#25D366; background:#effbf3; }
.rs-cq-op:focus-visible{ outline:3px solid #0a66c2; outline-offset:2px; }
.rs-cq-num{ display:flex; gap:10px; align-items:stretch; }
.rs-cq-in{ position:relative; flex:1 1 0; min-width:0; }
.rs-cq-in label{ display:block; margin:0 0 4px; font-size:.8rem; font-weight:700; color:#555; }
.rs-cq-in input{ width:100%; box-sizing:border-box; min-height:50px; padding:10px 44px 10px 14px; border:2px solid #d9d9d9; border-radius:10px;
  font:inherit; font-size:1.1rem; font-weight:700; color:#111; background:#fff; -moz-appearance:textfield; }
.rs-cq-in input:focus{ outline:none; border-color:#25D366; box-shadow:0 0 0 3px rgba(37,211,102,.2); }
.rs-cq-in em{ position:absolute; right:14px; bottom:15px; font-style:normal; font-size:.85rem; color:#888; pointer-events:none; }
.rs-cq-hint{ margin:10px 0 0; font-size:.84rem; line-height:1.45; color:#5a5a5a; }
.rs-cq-ref{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin:0 0 10px; padding:8px 12px; border:1px dashed #cfd3c7; border-radius:10px; background:#fbfcf8; font-size:.86rem; color:#555; }
.rs-cq-ref b{ color:#111; font-weight:800; }
.rs-cq-ref button{ margin-left:auto; padding:3px 10px; border:1px solid #1b1b1b; border-radius:999px; background:#fff; font:inherit; font-size:.78rem; font-weight:800; color:#111; cursor:pointer; }
.rs-cq-ref button:hover{ background:#bdff06; }
.rs-cq-btns--atras{ flex-direction:row; }
.rs-cq-btns--atras .rs-cq-btn--pri{ flex:1 1 auto; }
.rs-cq-btn--atras{ flex:0 0 auto; width:auto; background:#fff; color:#1b1b1b; border-color:#cfcfcf; }
.rs-cq-btn--atras:hover{ background:#f3f3f3; border-color:#1b1b1b; }
.rs-cq-atajos{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.rs-cq-atajo{ padding:7px 12px; border:1px solid #cfcfcf; border-radius:999px; background:#fafafa; font:inherit; font-size:.85rem; font-weight:700; color:#1b1b1b; cursor:pointer; }
.rs-cq-atajo:hover{ border-color:#25D366; background:#f5fdf8; }
/* (2026-10-01) Cantidad en tarjetas compactas */
.rs-cq-atajos:has(.rs-cq-atajo--card){ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.rs-cq-atajo--card{ display:flex; flex-direction:column; align-items:flex-start; gap:1px; padding:9px 10px; border-radius:12px; background:#fff; text-align:left; font-weight:600; }
.rs-cq-atajo--card span{ font-size:.72rem; color:#666; font-weight:600; }
.rs-cq-atajo--card b{ font-size:.95rem; font-weight:800; color:#111; }
.rs-cq-atajo--card em{ margin-top:3px; font-style:normal; font-size:1rem; font-weight:800; color:#2f7a00; }
.rs-cq-atajo--card em small{ font-size:.64rem; color:#888; font-weight:600; }
.rs-cq-atajo--card i{ font-style:normal; font-size:.68rem; color:#777; }
@media (max-width:560px){ .rs-cq-atajos:has(.rs-cq-atajo--card){ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.rs-cq-vivo{ margin:12px 0 0; padding:10px 12px; border-radius:10px; background:#f6f7f4; font-size:.9rem; color:#333; }
.rs-cq-vivo b{ color:#111; }
.rs-cq-link{ display:block; width:100%; margin:12px 0 0; padding:6px; border:0; background:none; font:inherit; font-size:.84rem; color:#666; text-decoration:underline; cursor:pointer; }
.rs-cq-anim{ animation:rsCqIn .22s ease; }
/* Aviso honesto: aún no se abre WhatsApp */
.rs-cq-aviso{ margin:-2px 0 12px; font-size:.82rem; line-height:1.45; color:#555; }
.rs-cq-aviso b{ color:#128c4a; }
/* Ficha del material elegido */
.rs-cq-prod{ display:flex; gap:12px; align-items:center; margin:0 0 14px; padding:8px; border-radius:12px; background:#f6f7f4; }
.rs-cq-prod img{ width:64px; height:64px; flex:0 0 64px; object-fit:cover; border-radius:9px; background:#e9e9e9; }
.rs-cq-prod b{ display:block; font-size:.92rem; font-weight:800; color:#111; line-height:1.25; }
.rs-cq-prod em{ display:inline-block; margin-top:3px; padding:2px 8px; border-radius:999px; background:#111; color:#fff; font-style:normal; font-size:.66rem; font-weight:800; }
.rs-cq-prod small{ display:block; margin-top:3px; font-size:.76rem; color:#666; line-height:1.35; }
/* Opciones de material con foto (para quien no conoce los materiales) */
.rs-cq-grupo{ margin:6px 0 -2px; font-size:.7rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#888; }
.rs-cq-op--img{ flex-direction:row; align-items:center; gap:12px; padding:8px 10px 8px 8px; }
.rs-cq-op--img img{ width:62px; height:62px; flex:0 0 62px; object-fit:cover; border-radius:8px; background:#eee; }
.rs-cq-op-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rs-cq-op i{ font-style:normal; font-size:.78rem; color:#555; line-height:1.3; }
.rs-cq-op--img small{ font-weight:700; color:#128c4a; }
.rs-cq-rec{ align-self:flex-start; margin:1px 0 1px; padding:2px 7px; border-radius:999px; background:#bdff06; color:#1d2a00; font-style:normal; font-size:.66rem; font-weight:800; }
/* Avance: Paso 1 de 3 */
.rs-cq-avance{ display:flex; align-items:center; gap:5px; margin:0 0 10px; }
.rs-cq-avance i{ width:22px; height:5px; border-radius:999px; background:#e3e3e3; }
.rs-cq-avance i.ok{ background:#25D366; }
.rs-cq-avance i.on{ background:#111; width:34px; }
.rs-cq-avance span{ margin-left:4px; font-size:.72rem; font-weight:700; color:#777; }
@keyframes rsCqIn{ from{ opacity:0; transform:translateX(10px); } to{ opacity:1; transform:none; } }
/* Resaltado suave del campo al que se lleva al cliente */
.rs-cq-foco{ box-shadow:0 0 0 4px rgba(37,211,102,.30) !important; border-radius:8px; transition:box-shadow 1.2s ease; }
.rs-cq-foco-fuera{ box-shadow:0 0 0 4px rgba(37,211,102,0) !important; }
html.rs-cq-abierto, html.rs-cq-abierto body{ overflow:hidden !important; }
@media (prefers-reduced-motion: reduce){ .rs-cq-fondo, .rs-cq-caja, .rs-cq-foco{ transition:none; } .rs-cq-anim{ animation:none; } }
/* ══ Cotización simple (2026-09-26) ══ */
.rs-cq-caja{ max-height:calc(100vh - 24px); max-height:calc(100svh - 24px); }
@media (max-width:560px){ .rs-cq{ padding:10px; } .rs-cq-caja{ padding:16px 16px 14px; } }
/* Precio destacado en cada opción */
.rs-cq-op .rs-cq-op-pr{ display:block; margin-top:4px; font-size:.9rem; font-weight:800; color:#128c3f; line-height:1.25; }
/* Tabla de precios en el paso de cantidad */
.rs-cq-tabla{ display:flex; gap:6px; margin:12px 0 0; }
.rs-cq-tabla-i{ flex:1 1 0; min-width:0; padding:8px 4px; border:2px solid #ececec; border-radius:10px; text-align:center; background:#fafafa;
  transition:border-color .2s ease, background .2s ease, transform .2s ease; }
.rs-cq-tabla-i small{ display:block; font-size:.7rem; font-weight:700; color:#777; }
.rs-cq-tabla-i b{ display:block; margin-top:2px; font-size:1rem; font-weight:900; color:#111; }
.rs-cq-tabla-i em{ display:block; font-style:normal; font-size:.64rem; color:#999; }
.rs-cq-tabla-i.on{ border-color:#25D366; background:#effbf3; transform:translateY(-2px); }
/* Total en vivo mientras escribe */
.rs-cq-vivo{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin:12px 0 0; padding:12px 14px; border-radius:12px; background:#111; color:rgba(255,255,255,.75); font-size:.82rem; }
.rs-cq-vivo b{ color:#bdff06; font-size:1.35rem; font-weight:900; }
.rs-cq-vivo[hidden]{ display:none; }
/* «Tu cotización está lista» */
.rs-cq-listo{ display:flex; align-items:center; gap:12px; margin:0 38px 12px 0; }
.rs-cq-listo .rs-cq-tit{ margin:0 !important; }
.rs-cq-listo-sub{ margin:2px 0 0; font-size:.8rem; color:#777; line-height:1.35; }
.rs-cq-listo-ico{ flex:0 0 44px; width:44px; height:44px; }
.rs-cq-listo-ico svg{ display:block; width:44px; height:44px; overflow:visible; }
.rs-cq-listo-ico circle{ fill:#bdff06; transform-origin:26px 26px; animation:rsCqPop .45s cubic-bezier(.2,1.4,.4,1) both; }
.rs-cq-listo-ico path{ fill:none; stroke:#111; stroke-width:4.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:40; stroke-dashoffset:40;
  animation:rsCqCheck .4s ease-out .32s forwards; }
@keyframes rsCqPop{ from{ transform:scale(0); } to{ transform:scale(1); } }
@keyframes rsCqCheck{ to{ stroke-dashoffset:0; } }
/* Filas cortas */
.rs-cq-filas--min{ margin:0; }
.rs-cq-fila--min{ padding:8px 0 !important; border-bottom:1px solid #f0f0f0; }
.rs-cq-fila--min dt{ font-weight:500; color:#8a8a8a; font-size:.84rem; }
.rs-cq-fila--min dd{ font-weight:700; font-size:.92rem; }
/* Total */
.rs-cq-tot{ margin:14px 0 0; padding:14px 16px; border-radius:14px; background:#111; color:#fff; }
.rs-cq-tot span{ display:block; font-size:.7rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.6); }
.rs-cq-tot b{ display:block; margin-top:2px; font-size:2.1rem; font-weight:900; letter-spacing:-1px; line-height:1.05; color:#bdff06; font-variant-numeric:tabular-nums; }
.rs-cq-tot small{ display:block; margin-top:4px; font-size:.74rem; color:rgba(255,255,255,.6); }
.rs-cq-tot b{ background:none !important; text-decoration:none !important; box-shadow:none !important; padding:0 !important; }
.rs-cq-tot--pop{ animation:rsCqTot .5s cubic-bezier(.2,1.2,.4,1) .12s both; }
@keyframes rsCqTot{ from{ opacity:0; transform:translateY(8px) scale(.97); } to{ opacity:1; transform:none; } }
/* Botones siempre a la vista, pegados abajo */
.rs-cq-acc{ position:sticky; bottom:-18px; z-index:3; margin:14px -22px -18px; padding:12px 22px 14px; background:#fff;
  box-shadow:0 -12px 18px -14px rgba(0,0,0,.25); }
.rs-cq-acc .rs-cq-btns{ margin-top:0; }
.rs-cq-acc .rs-cq-btn--wa{ font-size:1rem; min-height:50px; animation:rsCqLatido 1.5s ease-in-out .9s 2; }
@keyframes rsCqLatido{ 0%,100%{ box-shadow:0 0 0 0 rgba(37,211,102,.55); } 50%{ box-shadow:0 0 0 11px rgba(37,211,102,0); } }
.rs-cq-acc .rs-cq-comp{ display:flex; gap:6px; margin-top:8px; }
.rs-cq-acc .rs-cq-comp button{ flex:1 1 0; min-width:0; display:flex; flex-direction:row; align-items:center; justify-content:center; gap:6px; min-height:42px;
  padding:6px 8px; border:1.5px solid #e2e2e2; border-radius:10px; background:#fff; color:#111; font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.rs-cq-acc .rs-cq-comp button:hover{ border-color:#111; background:#fff; }
.rs-cq-acc .rs-cq-comp button[disabled]{ opacity:.55; cursor:wait; }
.rs-cq-acc .rs-cq-msg{ margin:6px 0 0; min-height:0; font-size:.78rem; color:#128c3f; text-align:center; }
.rs-cq-acc .rs-cq-msg:empty{ display:none; }
.rs-cq-acc .rs-cq-nota{ margin:8px 0 0; font-size:.7rem; }
@media (max-width:560px){
  .rs-cq-acc{ bottom:-14px; margin:12px -16px -14px; padding:10px 16px 12px; }
  .rs-cq-tot b{ font-size:1.9rem; }
  .rs-cq-listo-ico, .rs-cq-listo-ico svg{ width:40px; height:40px; flex-basis:40px; }
}
/* (2026-10-01) Cuatro acciones: Editar · PDF · Imagen · Copiar */
.rs-cq-comp.rs-cq-comp--4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:420px){
  .rs-cq-comp.rs-cq-comp--4{ grid-template-columns:repeat(2,1fr); }
  .rs-cq-acc .rs-cq-comp.rs-cq-comp--4{ flex-wrap:wrap; }
  .rs-cq-acc .rs-cq-comp.rs-cq-comp--4 button{ flex:1 1 calc(50% - 3px); }
}
@media (prefers-reduced-motion: reduce){
  .rs-cq-listo-ico circle, .rs-cq-tot--pop, .rs-cq-acc .rs-cq-btn--wa{ animation:none; }
  .rs-cq-listo-ico path{ animation:none; stroke-dashoffset:0; }
}

/* 2026-10-13 · 5 herramientas: Editar · PDF · Imagen · Copiar · Compartir */
.rs-cq-comp.rs-cq-comp--5{ grid-template-columns:repeat(5,1fr); }
.rs-cq-acc .rs-cq-comp.rs-cq-comp--5{ display:grid; grid-template-columns:repeat(5,1fr); flex-wrap:nowrap; }
.rs-cq-acc .rs-cq-comp.rs-cq-comp--5 button{ flex-direction:column; gap:4px; min-height:54px; padding:7px 2px; font-size:.76rem; }
@media (max-width:420px){
  .rs-cq-comp.rs-cq-comp--4.rs-cq-comp--5, .rs-cq-acc .rs-cq-comp.rs-cq-comp--4.rs-cq-comp--5{ grid-template-columns:repeat(5,1fr); }
  .rs-cq-acc .rs-cq-comp.rs-cq-comp--4.rs-cq-comp--5 button{ flex:initial; font-size:.68rem; padding:6px 1px; }
}
