.cart-page{position:relative}.cart-hero{border:1px solid color-mix(in srgb, var(--foreground) 8%, var(--border));background:var(--surface);border-radius:1.5rem;margin-bottom:1.5rem;padding:1.75rem 1.5rem;position:relative;overflow:hidden;box-shadow:0 4px 24px #0f172a0d}.cart-hero-glow{pointer-events:none;background:radial-gradient(at 15%,#1a56db12,#0000 55%),radial-gradient(at 85% 40%,#f5c51814,#0000 50%);position:absolute;inset:0}.cart-hero-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex;position:relative}.cart-hero-title{color:var(--foreground);font-size:1.85rem;font-weight:900;line-height:1.15}@media (min-width:768px){.cart-hero-title{font-size:2.15rem}}.cart-hero-sub{color:var(--muted);margin-top:.4rem;font-size:.88rem;font-weight:600}.cart-hero-badge{background:color-mix(in srgb, var(--primary) 10%, white);color:var(--primary);border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;font-weight:900;display:inline-flex}.cart-steps{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.5rem;display:flex}.cart-step{color:var(--muted);align-items:center;gap:.4rem;font-size:.78rem;font-weight:800;display:flex}.cart-step.is-done{color:var(--accent-green)}.cart-step.is-current{color:var(--primary)}.cart-step-dot{border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;font-size:.68rem;font-weight:900;display:flex}.cart-step.is-current .cart-step-dot,.cart-step.is-done .cart-step-dot{color:#fff;background:currentColor;border-color:#0000}.cart-step-sep{color:color-mix(in srgb, var(--muted) 50%, transparent)}.cart-layout{align-items:start;gap:1.25rem;display:grid}@media (min-width:1024px){.cart-layout{grid-template-columns:minmax(0,1fr) 22rem;gap:1.5rem}}.cart-items-panel{border:1px solid color-mix(in srgb, var(--foreground) 7%, var(--border));background:var(--surface);border-radius:1.25rem;overflow:hidden}.cart-items-toolbar{border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--background) 40%, white);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.15rem;display:flex}.cart-items-count{color:var(--foreground);font-size:.82rem;font-weight:900}.cart-items-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cart-link-btn{color:var(--primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;align-items:center;gap:.35rem;font-size:.78rem;font-weight:800;text-decoration:underline;display:inline-flex}.cart-link-btn--danger{color:#dc2626}.cart-items-list{flex-direction:column;display:flex}.cart-line{border-bottom:1px solid color-mix(in srgb, var(--foreground) 4%, var(--border));grid-template-columns:4.5rem minmax(0,1fr);gap:.85rem;padding:1rem 1.15rem;transition:background .2s;display:grid}@media (min-width:640px){.cart-line{grid-template-columns:5.5rem minmax(0,1fr) auto;align-items:center;gap:1rem}}.cart-line:last-child{border-bottom:none}.cart-line:hover{background:color-mix(in srgb, var(--primary) 2%, white)}.cart-line-thumb{aspect-ratio:1;border:1px solid var(--border);background:#f8fafc;border-radius:.9rem;overflow:hidden}.cart-line-thumb img{object-fit:contain;width:100%;height:100%;padding:.35rem}.cart-line-thumb-placeholder{height:100%;color:var(--muted);opacity:.35;justify-content:center;align-items:center;display:flex}.cart-line-body{min-width:0}.cart-line-name{color:var(--foreground);font-size:.95rem;font-weight:900;transition:color .2s;display:block}.cart-line-name:hover{color:var(--primary)}.cart-line-meta{color:var(--muted);flex-wrap:wrap;gap:.65rem;margin-top:.25rem;font-size:.72rem;font-weight:700;display:flex}.cart-line-unit{font-variant-numeric:tabular-nums}.cart-line-prices{flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-top:.45rem;display:flex}.cart-line-total{color:var(--primary);font-size:1.05rem;font-weight:900}.cart-line-unit-price{color:var(--muted);font-size:.72rem;font-weight:700}.cart-line-controls{grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.35rem;display:flex}@media (min-width:640px){.cart-line-controls{flex-direction:column;grid-column:auto;align-items:flex-end;gap:.5rem;margin-top:0}}.cart-qty{border:1px solid var(--border);background:#fff;border-radius:1rem;align-items:center;display:inline-flex;overflow:hidden}.cart-qty-btn{width:2.35rem;height:2.35rem;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s;display:flex}.cart-qty-btn:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 8%, white)}.cart-qty-btn:disabled{opacity:.35;cursor:not-allowed}.cart-qty-value{text-align:center;font-variant-numeric:tabular-nums;min-width:2.25rem;font-size:.9rem;font-weight:900}.cart-line-remove{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.3rem;padding:.25rem .35rem;font-size:.72rem;font-weight:800;transition:background .15s;display:inline-flex}.cart-line-remove:hover{background:#fceeee}.cart-line-pack-hint{color:var(--muted);font-size:.65rem;font-weight:800}.cart-line-note{margin-top:.5rem;display:block}.cart-line-note-label{color:var(--muted);margin-bottom:.25rem;font-size:.65rem;font-weight:800;display:block}.cart-line-note-input{border:1px solid var(--border);background:var(--background);border-radius:.75rem;width:100%;padding:.45rem .65rem;font-size:.8rem}.cart-line-note-readonly{color:var(--muted);margin-top:.35rem;font-size:.75rem}.cart-min-bar-fill.is-over{background:#dc2626}.cart-summary{top:calc(var(--header-height) + 1rem);border:1px solid color-mix(in srgb, var(--foreground) 8%, var(--border));background:var(--surface);border-radius:1.25rem;padding:1.25rem;position:sticky;box-shadow:0 8px 32px #0f172a0f}.cart-summary-title{color:var(--foreground);margin-bottom:1rem;font-size:1.05rem;font-weight:900}.cart-summary-rows{flex-direction:column;gap:.65rem;margin-bottom:1rem;display:flex}.cart-summary-row{color:var(--muted);justify-content:space-between;align-items:center;gap:.75rem;font-size:.82rem;font-weight:700;display:flex}.cart-summary-row strong{color:var(--foreground);font-weight:900}.cart-summary-total{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:1rem;padding-top:1rem;display:flex}.cart-summary-total-label{color:var(--foreground);font-size:1rem;font-weight:900}.cart-summary-total-value{color:var(--primary);font-variant-numeric:tabular-nums;font-size:1.65rem;font-weight:900}.cart-min-bar{margin-bottom:1rem}.cart-min-bar-head{justify-content:space-between;gap:.5rem;margin-bottom:.4rem;font-size:.72rem;font-weight:800;display:flex}.cart-min-bar-track{background:color-mix(in srgb, var(--muted) 15%, white);border-radius:999px;height:.45rem;overflow:hidden}.cart-min-bar-fill{background:linear-gradient(90deg, var(--primary), var(--accent-cyan));border-radius:999px;height:100%;transition:width .35s}.cart-min-bar-fill.is-complete{background:linear-gradient(90deg, var(--accent-green), #16a34a)}.cart-min-bar-warn{color:#b45309;margin-top:.4rem;font-size:.72rem;font-weight:800}.cart-notes{margin-bottom:1rem}.cart-notes-label{color:var(--muted);margin-bottom:.4rem;font-size:.72rem;font-weight:900;display:block}.cart-notes-input{resize:vertical;border:1px solid var(--border);background:#fff;border-radius:1rem;outline:none;width:100%;min-height:4.5rem;padding:.7rem .85rem;font-family:inherit;font-size:.82rem;font-weight:600;transition:border-color .2s}.cart-notes-input:focus{border-color:color-mix(in srgb, var(--primary) 40%, var(--border))}.cart-draft-banner{border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));background:color-mix(in srgb, var(--primary) 6%, white);color:var(--primary);border-radius:.9rem;align-items:center;gap:.5rem;margin-bottom:.85rem;padding:.65rem .8rem;font-size:.75rem;font-weight:800;display:flex}.cart-draft-banner-cancel{color:var(--muted);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-right:auto;font-size:.72rem;font-weight:900;text-decoration:underline}.cart-error{color:#dc2626;background:#fdf2f2;border:1px solid #dc262640;border-radius:.85rem;margin-bottom:.85rem;padding:.65rem .85rem;font-size:.78rem;font-weight:800}.cart-trust{border-top:1px solid var(--border);flex-direction:column;gap:.45rem;margin-top:1rem;padding-top:1rem;display:flex}.cart-trust-item{color:var(--muted);align-items:center;gap:.45rem;font-size:.72rem;font-weight:700;display:flex}.cart-trust-item svg{color:var(--accent-green);flex-shrink:0}.cart-hint{text-align:center;color:var(--muted);margin-top:.65rem;font-size:.68rem;font-weight:700;line-height:1.45}.cart-auth-banner{border-radius:.9rem;margin-bottom:1rem;padding:.75rem .9rem;font-size:.78rem;font-weight:800}.cart-auth-banner--warn{color:#b45309;background:#fef7eb;border:1px solid #f59e0b4d}.cart-auth-banner--info{border:1px solid color-mix(in srgb, var(--primary) 25%, transparent);background:color-mix(in srgb, var(--primary) 6%, white);color:var(--primary)}.cart-empty{border:1px solid color-mix(in srgb, var(--foreground) 8%, var(--border));background:var(--surface);text-align:center;border-radius:1.5rem;max-width:28rem;margin:2rem auto;padding:3rem 2rem;box-shadow:0 8px 32px #0f172a0d}.cart-empty-icon{background:color-mix(in srgb, var(--primary) 10%, white);width:4rem;height:4rem;color:var(--primary);border-radius:1.25rem;justify-content:center;align-items:center;margin:0 auto 1rem;display:flex}.cart-empty-title{color:var(--foreground);font-size:1.35rem;font-weight:900}.cart-empty-desc{color:var(--muted);margin-top:.5rem;font-size:.88rem;font-weight:600}.cart-empty-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.5rem;display:flex}.cart-mobile-bar{z-index:35;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.75rem 1rem;padding-bottom:max(.75rem, env(safe-area-inset-bottom));background:#fffffff0;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #0f172a14}@media (min-width:1024px){.cart-mobile-bar{display:none}}.cart-page.has-mobile-bar{padding-bottom:5rem}@media (min-width:1024px){.cart-page.has-mobile-bar{padding-bottom:0}}.cart-mobile-total{color:var(--primary);font-size:1.15rem;font-weight:900}
