/* ===== Craft My Case — Order page ===== */
:root{
  --orange:#FF6B35; --orange-dark:#E8551F; --blue:#1E3A8A; --green:#10B981;
  --ink:#1F2937; --muted:#6B7280; --line:#E5E7EB; --bg:#F8F9FA;
  --radius:16px;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,sans-serif;}
.order-header{position:sticky;top:0}
.order-main{padding:2.5rem 0 4rem}
.order-head{text-align:center;margin-bottom:2rem}
.order-title{font-size:2.25rem;font-weight:900;color:var(--blue);letter-spacing:-0.02em}
.order-sub{color:var(--muted);max-width:600px;margin:.5rem auto 0;font-size:1.05rem}

/* Stepper */
.stepper{display:flex;gap:.5rem;justify-content:center;list-style:none;padding:0;margin:0 auto 2rem;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--muted);padding:.4rem .8rem;border-radius:999px;background:#fff;border:1px solid var(--line)}
.step span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--line);color:#fff;font-size:.75rem}
.step.is-active{color:var(--blue);border-color:var(--blue)}
.step.is-active span{background:var(--orange)}
.step.is-done span{background:var(--green)}

/* Grid */
.order-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:1.5rem;align-items:start}
@media(max-width:860px){.order-grid{grid-template-columns:1fr}}

.order-card,.order-summary{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.5rem}
.panel-title{font-size:1.3rem;font-weight:800;color:var(--blue);margin:.2rem 0 1rem}
.field-label{display:block;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:1rem 0 .4rem}
.field{width:100%;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}
.field:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,53,.15)}
textarea.field{resize:vertical}
.muted{color:var(--muted);font-size:.9rem}
.form-hint{color:var(--muted);font-size:.85rem;margin:.6rem 0 0}

/* Chips & cards */
.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{padding:.6rem 1rem;border:1px solid var(--line);background:#fff;border-radius:999px;font-weight:600;cursor:pointer;transition:.15s;font-family:inherit;font-size:.92rem}
.chip:hover{border-color:var(--orange)}
.chip.is-active{background:var(--orange);border-color:var(--orange);color:#fff}
.card-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:520px){.card-row{grid-template-columns:1fr}}
.case-card{border:1px solid var(--line);border-radius:14px;padding:1rem;cursor:pointer;transition:.15s;background:#fff}
.case-card:hover{border-color:var(--orange)}
.case-card.is-active{border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,107,53,.15)}
.case-card h4{margin:0 0 .25rem;font-size:1rem;font-weight:700}
.case-card .price{color:var(--orange);font-weight:800}
.case-card p{margin:.25rem 0 0;font-size:.82rem;color:var(--muted)}

/* Quantity */
.qty-row{display:flex;align-items:center;gap:1rem;margin-top:1.2rem}
.qty-control{display:flex;align-items:center;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.qty-control button{width:42px;height:42px;border:none;background:#fff;font-size:1.3rem;cursor:pointer;color:var(--blue)}
.qty-control button:hover{background:var(--bg)}
.qty-control input{width:54px;text-align:center;border:none;font-size:1.1rem;font-weight:700;font-family:inherit}

/* Buttons (extend existing .btn) */
.btn-block{width:100%;margin-top:1.2rem}
.btn-lg{padding:1rem 1.4rem;font-size:1.05rem}
.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.btn-ghost:hover{background:var(--bg)}
.btn-primary{background:var(--orange);border-color:var(--orange);color:#fff}
.btn-primary:hover{background:var(--orange-dark)}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.btn-whatsapp{background:var(--green);

/* Upload */
.upload-drop{border:2px dashed var(--line);border-radius:14px;padding:2rem;text-align:center;cursor:pointer;transition:.15s;background:var(--bg)}
.upload-drop:hover,.upload-drop.is-drag{border-color:var(--orange);background:#fff}
.upload-inner{display:flex;flex-direction:column;gap:.3rem}
.upload-preview{margin-top:1rem;max-width:100%;max-height:220px;border-radius:12px;border:1px solid var(--line)}
.design-actions{display:flex;gap:.75rem;margin-top:1rem}
.design-actions .btn{flex:1}

/* Summary */
.order-summary{position:sticky;top:90px}
.summary-title{font-size:1.1rem;font-weight:800;margin:0 0 1rem}
.cart-list{display:flex;flex-direction:column;gap:.6rem;min-height:40px}
.cart-item{display:flex;justify-content:space-between;gap:.5rem;padding:.6rem .2rem;border-bottom:1px solid var(--line);font-size:.92rem}
.cart-item .ci-name{font-weight:600}
.cart-item .ci-meta{color:var(--muted);font-size:.8rem}
.cart-item .ci-price{font-weight:700;white-space:nowrap}
.summary-total{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding-top:1rem;border-top:2px solid var(--line);font-size:1.05rem}
.summary-total strong{font-size:1.4rem;color:var(--blue)}
.secure-note{text-align:center;color:var(--muted);font-size:.8rem;margin:.8rem 0 0}

/* Overlay / spinner */
.overlay{position:fixed;inset:0;background:rgba(31,41,55,.92);display:grid;place-content:center;justify-items:center;gap:1rem;color:#fff;z-index:2000}
.overlay p{font-weight:600}
.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* Toast */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--blue);color:#fff;padding:.8rem 1.2rem;border-radius:12px;box-shadow:var(--shadow-lg);z-index:2100;font-weight:600;max-width:90vw}
.toast.error{background:#DC2626}
