.checkout-section h1{margin-bottom:var(--spacing-xl)}.checkout-errors{margin-bottom:var(--spacing-lg)}.checkout-errors .error-message{background-color:rgba(220,38,38,.15);border:1px solid var(--color-error);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--border-radius);font-weight:var(--font-weight-medium)}.checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:var(--spacing-2xl);align-items:start}.checkout-fieldset{border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);background-color:var(--color-surface)}.checkout-fieldset legend{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);padding:0 var(--spacing-sm);color:var(--color-text)}.checkout-fieldset .form-group{margin-bottom:var(--spacing-md)}.checkout-fieldset .form-group:last-child{margin-bottom:0}.checkout-fieldset .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.checkout-fieldset .form-row .form-group{margin-bottom:0}.checkout-fieldset input{color:var(--color-text)}.checkout-fieldset select{color:#f0f0f0;background-color:#1a1a1a;appearance:none;-webkit-appearance:none;padding-right:var(--spacing-xl);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23999' d='M1.4 0L6 4.6 10.6 0 12 1.4l-6 6-6-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border-color:#444;cursor:pointer;transition:border-color .15s}.checkout-fieldset select:hover{border-color:#666}.checkout-fieldset select:focus{border-color:var(--color-primary);outline:0;box-shadow:0 0 0 3px rgba(220,38,38,.2)}.checkout-fieldset select option{background-color:#1a1a1a;color:#f0f0f0}.checkout-fieldset input.error,.checkout-fieldset select.error{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(220,38,38,.2)}.checkbox-group{margin-bottom:var(--spacing-md)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-weight:var(--font-weight-normal)}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.shipping-options{min-height:40px}.shipping-option{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);margin-bottom:var(--spacing-sm);cursor:pointer;transition:var(--transition-base);background-color:var(--color-background)}.shipping-option:last-child{margin-bottom:0}.shipping-option:hover{border-color:var(--color-primary)}.shipping-option input[type=radio]{width:auto;flex-shrink:0}.shipping-option-details{flex:1;display:flex;flex-direction:column;gap:2px}.shipping-name{font-weight:var(--font-weight-medium)}.shipping-time{font-size:var(--font-size-sm);color:var(--color-text-muted)}.shipping-price{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.shipping-error{color:var(--color-error);font-size:var(--font-size-sm)}.stripe-card-element{background-color:#1a1a1a;border:1px solid #444;border-radius:var(--border-radius);padding:var(--spacing-md);transition:border-color .15s}.stripe-card-element:hover{border-color:#666}.stripe-card-element.StripeElement--focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(220,38,38,.2)}.stripe-card-element.StripeElement--invalid{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(220,38,38,.2)}.card-errors{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-sm);min-height:1.25em}.checkout-summary-col{position:sticky;top:var(--spacing-xl)}.order-summary{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.order-summary h3{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.order-item{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.order-item:last-child{border-bottom:none}.order-item-name{flex:1;font-weight:var(--font-weight-medium)}.order-item-quantity{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap}.order-item-price{font-weight:var(--font-weight-medium);white-space:nowrap}.order-totals{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.order-total-line{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;color:var(--color-text-muted)}.order-total-final{padding-top:var(--spacing-sm);margin-top:var(--spacing-sm);border-top:2px solid var(--color-border);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text)}.checkout-submit{width:100%;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.checkout-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.confirmation-section{padding:var(--spacing-2xl) 0;min-height:60vh;display:flex;align-items:center}.confirmation-card{max-width:560px;margin:0 auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-2xl);text-align:center}.confirmation-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);background-color:rgba(34,197,94,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;line-height:1}.confirmation-card h1{margin-bottom:var(--spacing-md)}.confirmation-card p{color:var(--color-text-muted);margin-bottom:var(--spacing-md)}.confirmation-details{text-align:left;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-md);margin:var(--spacing-lg) 0;font-size:var(--font-size-sm);word-break:break-all}.confirmation-details dt{color:var(--color-text-muted);font-weight:var(--font-weight-normal);margin-bottom:2px}.confirmation-details dd{margin:0 0 var(--spacing-md);font-weight:var(--font-weight-medium)}.confirmation-details dd:last-child{margin-bottom:0}@media (max-width:768px){.checkout-grid{grid-template-columns:1fr}.checkout-summary-col{position:static}.checkout-fieldset .form-row{grid-template-columns:1fr}}