.demo-banner{background:linear-gradient(90deg,#7cc5762e,#c9f5602e);border-bottom:1px solid rgba(124,197,118,.35);color:var(--lime-deep);padding:var(--space-3) var(--container-pad);font-size:var(--type-body-sm);text-align:center}.demo-banner strong{font-weight:700}.checkout{padding:var(--space-7) var(--container-pad) var(--space-9)}.checkout-title{font-family:var(--font-serif);font-size:var(--type-section-h2);font-weight:700;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-6);color:var(--fg)}.checkout-grid{display:grid;gap:var(--space-7);grid-template-columns:1fr}@media (min-width: 1024px){.checkout-grid{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-8)}}.form-section{margin-bottom:var(--space-6)}.section-title{font-family:var(--font-sans);font-weight:700;font-size:var(--type-body);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--fg);margin:0 0 var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.field{display:block;margin-bottom:var(--space-3)}.field-label{display:block;font-size:var(--type-meta);font-weight:600;color:var(--fg-soft);margin-bottom:var(--space-1)}.field input{width:100%;height:48px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius-2);font-family:var(--font-sans);font-size:var(--type-body);color:var(--fg);background:#fff;transition:border-color var(--duration-snap) var(--ease-out)}.field input:focus{outline:0;border-color:var(--fg)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.field-row .field-narrow:last-child+.field-narrow,.field-row .field-narrow~.field-narrow~.field-narrow{grid-column:auto}@media (min-width: 640px){.field-row{grid-template-columns:2fr 1fr 1fr}.field-row>.field:first-child{grid-column:1}.field-row>.field-narrow{grid-column:auto}}.checkout-submit{width:100%;min-height:56px;background:var(--accent);color:#fff;border:0;border-radius:var(--radius-pill);font-family:var(--font-sans);font-weight:700;font-size:var(--type-body);cursor:pointer;box-shadow:var(--shadow-cta);display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:transform var(--duration-normal) var(--ease-out);margin-top:var(--space-4)}.checkout-submit:hover{transform:translateY(-2px)}.checkout-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-price{opacity:.85;font-weight:500}.submit-note{font-size:var(--type-meta);color:var(--fg-meta);text-align:center;margin-top:var(--space-3)}.submit-note em{font-style:italic;color:var(--lime-deep)}.order-summary{background:#fff;border:1px solid var(--line);border-radius:var(--radius-3);padding:var(--space-5);align-self:start}@media (min-width: 1024px){.order-summary{position:sticky;top:calc(var(--space-7) + 60px)}}.summary-lines{list-style:none;padding:0;margin:0 0 var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.summary-line{display:grid;grid-template-columns:64px 1fr auto;gap:var(--space-3);align-items:center}.summary-thumb{position:relative;width:64px;height:80px;border-radius:var(--radius-2);overflow:hidden;background:var(--bg-card)}.summary-thumb img{width:100%;height:100%;object-fit:cover}.summary-qty{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--fg);color:var(--bg);font-family:var(--font-mono);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.summary-title{font-family:var(--font-serif);font-weight:700;font-size:var(--type-card-title);line-height:var(--leading-snug);color:var(--fg)}.summary-sub{font-size:var(--type-meta);color:var(--fg-meta);margin-top:2px}.summary-amt{font-family:var(--font-mono);font-size:var(--type-body-sm);font-weight:600;color:var(--fg)}.summary-empty{padding:var(--space-5) 0;text-align:center;color:var(--fg-meta)}.empty-back{display:inline-block;margin-top:var(--space-3);color:var(--fg);text-decoration:underline}.summary-totals:not([hidden]){margin:0;padding-top:var(--space-4);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-2)}.total-row{display:flex;justify-content:space-between;font-size:var(--type-body-sm);color:var(--fg-soft)}.total-row dt,.total-row dd{margin:0}.total-row dd{font-family:var(--font-mono)}.total-grand{border-top:1px solid var(--line);margin-top:var(--space-2);padding-top:var(--space-3);color:var(--fg);font-weight:700;font-size:var(--type-body)}.total-grand dd{font-size:20px}
