/* v9.0 · Flujo de cotización para diseños creados en Design Lab */
.designlab-flow-modal{
  position:fixed;
  inset:0;
  z-index:12500;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(5,6,9,.82);
  backdrop-filter:blur(6px);
}
.designlab-flow-modal.show{display:flex}
.designlab-flow-card{
  width:min(940px,100%);
  max-height:92vh;
  overflow:auto;
  background:var(--card);
  color:var(--text);
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:0 24px 80px rgba(0,0,0,.58);
}
.designlab-flow-head{
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:19px 21px;
  background:rgba(21,24,35,.97);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(10px);
}
.designlab-flow-kicker{
  display:block;
  margin-bottom:4px;
  color:#f0b6e8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.designlab-flow-head h2{margin:0;font-size:22px;line-height:1.15}
.designlab-flow-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:1px solid var(--border);
  border-radius:50%;
  background:var(--bg);
  color:var(--text);
  font-size:24px;
  cursor:pointer;
}
.designlab-flow-body{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:22px;
  padding:22px;
}
.designlab-flow-preview-panel,
.designlab-flow-config-panel{
  min-width:0;
}
.designlab-flow-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.designlab-flow-preview{
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:14px;
  background:#e6e6e8;
}
.designlab-flow-preview img{
  display:block;
  width:100%;
  aspect-ratio:1;
  object-fit:cover;
}
.designlab-flow-preview span{
  display:block;
  padding:7px 9px;
  background:var(--bg);
  color:var(--text-light);
  font-size:10px;
  font-weight:800;
  text-align:center;
}
.designlab-flow-empty-preview{
  display:grid;
  place-items:center;
  min-height:280px;
  padding:30px;
  border:1px dashed var(--border);
  border-radius:14px;
  color:var(--text-light);
  text-align:center;
}
.designlab-flow-summary{
  margin-bottom:16px;
  padding:14px;
  border:1px solid rgba(138,63,127,.45);
  border-radius:14px;
  background:rgba(138,63,127,.10);
}
.designlab-flow-summary-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
  font-size:13px;
}
.designlab-flow-summary-row:last-child{margin-bottom:0}
.designlab-flow-summary-row span{color:var(--text-light)}
.designlab-flow-summary-row strong{text-align:right}
.designlab-flow-swatch{
  display:inline-block;
  width:18px;
  height:18px;
  margin-right:6px;
  border:1px solid rgba(255,255,255,.4);
  border-radius:50%;
  vertical-align:-4px;
}
.designlab-flow-zones{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0 18px;
}
.designlab-flow-zone{
  padding:6px 9px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--bg);
  color:var(--text-light);
  font-size:10.5px;
  font-weight:700;
}
.designlab-flow-config-panel h3{margin:0 0 6px;font-size:17px}
.designlab-flow-helper{
  margin:0 0 15px;
  color:var(--text-light);
  font-size:12px;
  line-height:1.5;
}
.designlab-flow-size-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.designlab-flow-size-field label{
  display:block;
  margin-bottom:5px;
  color:var(--text-light);
  font-size:11px;
  font-weight:800;
}
.designlab-flow-size-field input{
  width:100%;
  padding:11px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--bg);
  color:var(--text);
  font-size:16px;
  text-align:center;
  outline:none;
}
.designlab-flow-size-field input:focus{
  border-color:var(--primary);
  box-shadow:0 0 0 3px rgba(138,63,127,.22);
}
.designlab-flow-total{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding:12px 13px;
  border-radius:11px;
  background:var(--bg);
  border:1px solid var(--border);
  font-size:14px;
}
.designlab-flow-total strong{font-size:17px;color:#f0b6e8}
.designlab-flow-price-note{
  margin-top:12px;
  padding:11px 12px;
  border:1px solid rgba(245,158,11,.32);
  border-radius:11px;
  background:rgba(245,158,11,.08);
  color:var(--text-light);
  font-size:11.5px;
  line-height:1.5;
}
.designlab-flow-price-note strong{color:#fde68a}
.designlab-flow-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:0 22px 22px;
}
.designlab-flow-secondary,
.designlab-flow-primary{
  min-height:44px;
  padding:11px 17px;
  border-radius:999px;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
}
.designlab-flow-secondary{
  border:1px solid var(--border);
  background:transparent;
  color:var(--text);
}
.designlab-flow-primary{
  border:0;
  background:var(--primary);
  color:#fff;
}
.designlab-flow-primary:disabled{opacity:.45;cursor:not-allowed}
.quote-cart-item.designlab-item{border-color:rgba(240,182,232,.46)}
.quote-cart-item.designlab-item .quote-item-type{
  background:rgba(138,63,127,.16);
  border-color:rgba(240,182,232,.45);
  color:#f0b6e8;
}
.quote-cart-item.designlab-item .quote-cart-item-image{background:#e6e6e8}
.quote-cart-item.designlab-item .quote-cart-item-image img{object-fit:cover}
.designlab-cart-zones{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  margin:6px 0;
}
.designlab-cart-zones span{
  padding:4px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--border);
  color:var(--text-light);
  font-size:9.5px;
}
.designlab-quote-row strong{color:#f0b6e8}
.designlab-pending-launcher{
  position:fixed;
  left:22px;
  bottom:22px;
  z-index:95;
  display:none;
  align-items:center;
  gap:8px;
  padding:11px 14px;
  border:1px solid rgba(240,182,232,.5);
  border-radius:999px;
  background:#17131b;
  color:#fff;
  font-size:12px;
  font-weight:850;
  box-shadow:0 10px 28px rgba(0,0,0,.42);
  cursor:pointer;
}
.designlab-pending-launcher.show{display:flex}
@media(max-width:760px){
  .designlab-flow-modal{padding:0}
  .designlab-flow-card{width:100%;height:100dvh;max-height:none;border-radius:0}
  .designlab-flow-body{grid-template-columns:1fr;padding:16px}
  .designlab-flow-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .designlab-flow-actions{padding:0 16px 18px;flex-direction:column-reverse}
  .designlab-flow-secondary,.designlab-flow-primary{width:100%}
}
@media(max-width:480px){
  .designlab-flow-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .designlab-flow-preview-grid{grid-template-columns:1fr 1fr}
  .designlab-pending-launcher{left:12px;bottom:78px}
}
