/* ---------- configurador de pedido (tela cheia) ---------- */
.ord-overlay{
  position:fixed;inset:0;z-index:100;background:#f6f6f6;color:#0a0a0a;
  display:none;overflow:auto;font-family:'Archivo',"Helvetica Neue",Arial,sans-serif;
  font-size:14px;letter-spacing:0;line-height:1.4;
}
.ord-overlay.open{display:block;}
.ord-overlay button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
.ord-close{
  position:fixed;top:12px;right:16px;z-index:5;width:42px;height:42px;
  font-size:30px;line-height:1;border-radius:50%;background:#fff;box-shadow:0 1px 6px rgba(0,0,0,.15);
}
.ord-layout{display:grid;grid-template-columns:minmax(340px,450px) 1fr;min-height:100%;}

.ord-panel{background:#fff;border-right:1px solid rgba(10,10,10,.12);padding:30px 28px 70px;}
.ord-title{font-family:'Orbitron',sans-serif;font-weight:800;font-size:24px;text-transform:uppercase;margin-bottom:26px;line-height:1.1;}
.ord-sec{padding:20px 0;border-top:1px solid rgba(10,10,10,.12);}
.ord-sec:first-of-type{border-top:none;padding-top:0;}
.ord-sec h3{font-family:'Orbitron',sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;margin-bottom:14px;}
.ord-hint{font-size:12.5px;color:#555;margin-top:8px;}
.ord-error{font-size:13px;color:#c0392b;margin-top:10px;display:none;}
.ord-error.show{display:block;}

.ord-models{display:flex;flex-wrap:wrap;gap:10px;}
.ord-chip{
  padding:11px 18px;border:1.5px solid rgba(10,10,10,.25);border-radius:999px;
  font-weight:600;background:#fff;transition:background .15s,color .15s,border-color .15s;
}
.ord-chip:hover{border-color:#0a0a0a;}
.ord-chip.on{background:#0a0a0a;color:#f6f6f6;border-color:#0a0a0a;}
.ord-chip .ord-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:8px;border:1px solid rgba(0,0,0,.3);vertical-align:-1px;}

.ord-qty{display:inline-flex;align-items:center;border:1.5px solid rgba(10,10,10,.25);border-radius:999px;overflow:hidden;}
.ord-qty button{width:42px;height:42px;font-size:20px;}
.ord-qty input{width:64px;text-align:center;border:none;font:inherit;font-weight:700;background:transparent;outline:none;-moz-appearance:textfield;}
.ord-qty input::-webkit-outer-spin-button,.ord-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.ord-item{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;margin-bottom:10px;
  border:1.5px solid rgba(10,10,10,.2);border-radius:12px;cursor:pointer;
}
.ord-item.on{border-color:#0a0a0a;background:rgba(10,10,10,.035);}
.ord-item-sel{display:flex;gap:8px;flex:1;min-width:200px;}
.ord-item select{
  flex:1;min-width:0;padding:9px 10px;border:1.5px solid rgba(10,10,10,.25);border-radius:8px;
  font:inherit;font-weight:600;background:#fff;
}
.ord-item .ord-trash{margin-left:0;}
.ord-sizes{display:flex;gap:8px;width:100%;}
.ord-size{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:700;}
.ord-size input{
  width:100%;min-width:0;text-align:center;padding:8px 2px;border:1.5px solid rgba(10,10,10,.25);
  border-radius:8px;font:inherit;font-weight:700;background:#fff;-moz-appearance:textfield;
}
.ord-size input::-webkit-outer-spin-button,.ord-size input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.ord-item-total{width:100%;font-size:12.5px;font-weight:600;}
.ord-item-total.low{color:#c0392b;}
.ord-prazo{font-size:13px;line-height:1.5;margin:12px 0 0;padding:10px 12px;border-radius:10px;background:rgba(10,10,10,.045);}
.ord-field{display:block;margin-bottom:12px;}
.ord-field span{display:block;font-size:12.5px;font-weight:600;margin-bottom:5px;}
.ord-field input{width:100%;padding:11px 12px;border:1.5px solid rgba(10,10,10,.25);border-radius:10px;font:inherit;background:#fff;}
.ord-field input:focus{outline:none;border-color:#0a0a0a;}
.ord-missing{font-size:12.5px;color:#c0392b;margin:0 0 10px;min-height:0;}
.ord-deposit-note{font-size:12.5px;line-height:1.5;color:#333;margin:12px 0 4px;padding:11px 13px;border-radius:10px;background:rgba(10,10,10,.045);}
.ord-quote-head{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#555;margin:12px 0 2px;}
.ord-stage-who{font-weight:600;color:#0a0a0a;}

.ord-tabs{display:flex;gap:8px;margin-bottom:16px;}
.ord-tab{flex:1;padding:10px 6px;border:1.5px solid rgba(10,10,10,.25);border-radius:10px;font-weight:600;background:#fff;position:relative;}
.ord-tab.on{background:#0a0a0a;color:#f6f6f6;border-color:#0a0a0a;}
.ord-tab .ord-check{display:none;margin-left:6px;font-size:12px;}
.ord-tab.has .ord-check{display:inline;}

.ord-upload{
  display:block;width:100%;text-align:center;padding:13px;border:1.5px solid #0a0a0a;border-radius:10px;
  font-weight:700;background:#fff;
}
.ord-upload:hover{background:#0a0a0a;color:#f6f6f6;}
.ord-file{margin-top:14px;padding:14px;border:1.5px solid rgba(10,10,10,.25);border-radius:12px;}
.ord-file-top{display:flex;align-items:flex-start;gap:12px;}
.ord-file-thumb{width:46px;height:46px;border-radius:8px;object-fit:contain;background:
  conic-gradient(#e7e7e7 25%,#fff 0 50%,#e7e7e7 0 75%,#fff 0) 0 0/12px 12px;flex:none;}
.ord-file-name{font-weight:700;word-break:break-all;}
.ord-dpi{font-weight:700;font-size:13px;}
.ord-dpi.good{color:#1a8f4c;}.ord-dpi.mid{color:#b7791f;}.ord-dpi.low{color:#c0392b;}
.ord-file-dims{font-size:12.5px;color:#555;margin-top:2px;}
.ord-trash{margin-left:auto;font-size:18px;padding:4px 6px;}
.ord-row{display:flex;align-items:center;gap:12px;margin-top:14px;}
.ord-row label{font-size:12.5px;font-weight:600;min-width:62px;}
.ord-row input[type=range]{flex:1;accent-color:#0a0a0a;}
.ord-seg{display:flex;gap:6px;flex:1;}
.ord-seg button{flex:1;padding:8px;border:1.5px solid rgba(10,10,10,.25);border-radius:8px;font-weight:600;}
.ord-seg button.on{background:#0a0a0a;color:#f6f6f6;border-color:#0a0a0a;}

.ord-check-row{display:flex;gap:10px;align-items:flex-start;cursor:pointer;}
.ord-check-row input{margin-top:3px;accent-color:#0a0a0a;width:16px;height:16px;}

.ord-quote-line{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:13.5px;}
.ord-quote-line span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums;}
.ord-quote-sum{border-top:1px solid rgba(10,10,10,.2);margin-top:8px;padding-top:10px;}
.ord-quote-total{font-family:'Orbitron',sans-serif;font-weight:800;font-size:20px;}
.ord-quote-deposit{font-weight:700;}
.ord-estimate{font-size:12px;color:#555;margin:10px 0 16px;}
/* botão de pagar: verde (contraste 4,5:1 com o texto branco) para chamar a atenção; desativado fica cinza, claramente inativo.
   O prefixo .ord-overlay é necessário: a regra ".ord-overlay button{background:none}" do topo anularia o fundo. */
.ord-overlay .ord-pay{
  display:block;width:100%;padding:17px 16px;border-radius:10px;background:#14883f;color:#fff;
  font-family:'Orbitron',sans-serif;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 8px 22px rgba(20,136,63,.35);transition:background .15s ease,transform .15s ease,box-shadow .15s ease;
}
.ord-overlay .ord-pay:hover:not(:disabled){background:#0f6f33;transform:translateY(-1px);box-shadow:0 10px 26px rgba(20,136,63,.45);}
.ord-overlay .ord-pay:focus-visible{outline:3px solid rgba(20,136,63,.45);outline-offset:3px;}
.ord-overlay .ord-pay:disabled{background:#d6d6d6;color:#8a8a8a;box-shadow:none;cursor:not-allowed;}
.ord-ghost{display:block;width:100%;margin-top:10px;padding:12px;border:1.5px solid rgba(10,10,10,.25);border-radius:10px;font-weight:600;}
.ord-ghost:disabled{opacity:.4;cursor:not-allowed;}
.ord-notice{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff6e0;border:1px solid #ecd9a3;font-size:13px;display:none;}
.ord-notice.show{display:block;}

/* palco com a camiseta */
.ord-stagewrap{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 24px;gap:12px;}
.ord-tools{display:flex;gap:8px;}
.ord-tool{padding:8px 16px;border:1.5px solid rgba(10,10,10,.25);border-radius:999px;font-weight:600;background:#fff;}
.ord-tool.on{background:#0a0a0a;color:#f6f6f6;border-color:#0a0a0a;}
.ord-stage{
  position:relative;aspect-ratio:var(--ar,1);
  width:min(100%,calc((100vh - 150px) * var(--ar,1)));background:#e4e4e4;border-radius:14px;overflow:visible;
}
.ord-shirt{position:absolute;inset:0;width:100%;height:100%;border-radius:14px;user-select:none;-webkit-user-drag:none;pointer-events:none;}
.ord-area{position:absolute;border:1.5px dashed rgba(10,10,10,.6);}
.ord-grid{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;}
.ord-grid line{vector-effect:non-scaling-stroke;stroke:rgba(10,10,10,.17);stroke-width:1;}
.ord-grid line.maj{stroke:rgba(10,10,10,.36);}
.ord-grid line.cl{stroke:#00a3c4;stroke-width:1.8;transition:stroke .15s;}
.ord-grid line.cl.on{stroke:#1a8f4c;stroke-width:2.6;}
.ord-grid rect.sq{vector-effect:non-scaling-stroke;fill:#00a3c4;stroke:#fff;stroke-width:1;}
.ord-guide{
  position:absolute;border:1.5px dashed #d6336c;background:rgba(214,51,108,.08);pointer-events:none;
}
.ord-guide span{position:absolute;left:0;top:100%;margin-top:3px;font-size:10.5px;font-weight:700;color:#d6336c;white-space:nowrap;}
.ord-dim{position:absolute;font-size:11px;font-weight:700;color:#0a0a0a;background:rgba(255,255,255,.85);padding:1px 6px;border-radius:6px;white-space:nowrap;}
.ord-dim.top{top:-22px;left:50%;transform:translateX(-50%);}
.ord-dim.right{right:-8px;top:50%;transform:translate(100%,-50%);}
.ord-art{position:absolute;touch-action:none;}
.ord-art img{width:100%;height:100%;display:block;pointer-events:none;user-select:none;-webkit-user-drag:none;}
.ord-art.active{cursor:move;outline:1.5px solid #0a0a0a;}
.ord-art.ghost{opacity:.55;pointer-events:none;}
.ord-art.blend img{mix-blend-mode:multiply;}
.ord-handle{
  position:absolute;right:-9px;bottom:-9px;width:18px;height:18px;border-radius:50%;
  background:#0a0a0a;border:2px solid #fff;cursor:nwse-resize;touch-action:none;
}
.ord-stage-note{font-size:12.5px;color:#555;text-align:center;max-width:520px;}

@media (max-width:900px){
  .ord-layout{grid-template-columns:1fr;}
  .ord-stagewrap{position:relative;height:auto;order:-1;padding:64px 16px 8px;}
  .ord-stage{width:min(100%,520px);}
  .ord-panel{border-right:none;padding:22px 18px 60px;}
}

/* ---------- entrega / frete ---------- */
.ord-ship-status{font-size:13px;color:#333;margin:2px 0 10px;min-height:0;}
.ord-ship-status:empty{display:none;}
.ord-ship-status.err{color:#c0392b;}
.ord-ship-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.ord-ship-opts:empty{display:none;}
.ord-ship-opt{
  display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;
  border:1.5px solid rgba(10,10,10,.2);border-radius:10px;background:#fff;
}
.ord-ship-opt.on{border-color:#0a0a0a;box-shadow:0 0 0 1px #0a0a0a inset;}
.ord-ship-opt input{accent-color:#0a0a0a;width:16px;height:16px;flex:none;}
.ord-ship-name{flex:1;font-size:13.5px;line-height:1.35;}
.ord-ship-price{font-weight:700;white-space:nowrap;font-size:14px;}
.ord-addr[hidden]{display:none;}
.ord-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.ord-row-city{grid-template-columns:1fr 84px;}

/* ---------- várias estampas no mesmo pedido ---------- */
.ord-designs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:6px;}
.ord-design{
  display:inline-flex;align-items:center;gap:8px;padding:9px 12px;cursor:pointer;
  border:1.5px solid rgba(10,10,10,.25);border-radius:10px;background:#fff;font-weight:600;font-size:13.5px;
}
.ord-design small{font-weight:500;color:#555;font-size:12px;}
.ord-design.on{border-color:#0a0a0a;box-shadow:0 0 0 1px #0a0a0a inset;}
.ord-design.low{border-color:#c0392b;}
.ord-design.low small{color:#c0392b;font-weight:600;}
.ord-design-x{width:22px;height:22px;border-radius:50%;font-size:12px;line-height:1;color:#555;}
.ord-design-x:hover{background:#eee;color:#0a0a0a;}
.ord-designs .ord-design-add{width:auto;margin:0;padding:9px 12px;font-size:13.5px;}
.ord-designs-hint{margin:0 0 14px;}
.ord-item-sel.has-design{flex-wrap:wrap;}
.ord-item-sel.has-design select[data-field="design"]{flex:1 1 100%;}

/* ---------- estoque: pronta entrega x sob encomenda ---------- */
.ord-stock{margin-top:8px;font-size:12.5px;line-height:1.5;color:#333;}
.ord-stock:empty{display:none;}
.ord-stock .ord-stock-have{display:block;margin-bottom:4px;color:#555;}
.ord-stock .tag{display:inline-block;margin-right:6px;padding:2px 9px;border-radius:999px;font-weight:700;font-size:11.5px;letter-spacing:.02em;}
.ord-stock .tag.ready{background:#e3f6e8;color:#14683a;}
.ord-stock .tag.prod{background:#fff1d6;color:#8a5a00;}
.ord-stock .bad{color:#c0392b;}
.ord-colorhelp{margin-top:10px;}
.ord-link{padding:0;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;color:#0a0a0a;}
.ord-link:hover{opacity:.7;}

/* links dos avisos legais */
.ord-hint a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
.ord-hint a:hover{opacity:.7;}
.ord-legal{margin-top:10px;text-align:center;}

/* camiseta escura: grade e contorno da área em branco, para aparecer sobre o tecido */
.ord-stage.dark-shirt .ord-area{border-color:rgba(255,255,255,.9);}
.ord-stage.dark-shirt .ord-grid line{stroke:rgba(255,255,255,.26);}
.ord-stage.dark-shirt .ord-grid line.maj{stroke:rgba(255,255,255,.55);}
.ord-stage.dark-shirt .ord-grid line.cl{stroke:#2fd4f2;}
.ord-stage.dark-shirt .ord-grid line.cl.on{stroke:#3be08a;}

/* aceite dos termos e opção de novidades */
.ord-consent{display:grid;gap:10px;margin:14px 0 12px;font-size:12.5px;line-height:1.45;}
.ord-consent a{color:inherit;}

/* escolha entre entrada de 50% e pagamento total */
.ord-paymode{display:grid;gap:10px;margin:14px 0 8px;font-size:13.5px;line-height:1.45;}
.ord-paymode .ord-check-row{padding:12px 14px;border:1.5px solid rgba(10,10,10,.2);border-radius:10px;background:#fff;}
.ord-paymode .ord-check-row:has(input:checked){border-color:#14883f;background:#f0faf3;}
