ot-website-checkout { display:block; width:100%; margin:24px auto; }
ot-website-checkout .ot-checkout { max-width:1040px; margin:0 auto; }
ot-website-checkout .ot-checkout-grid { display:grid; grid-template-columns:minmax(0, 1.45fr) minmax(260px, .8fr); gap:20px; align-items:start; }
ot-website-checkout .ot-checkout-card { background:var(--ot-surface, #fff); border:1px solid #e3e3e3; border-radius:var(--ot-radius, 8px); padding:20px; }
ot-website-checkout .ot-checkout-summary { background:var(--ot-summary, var(--ot-surface, #fff)); }
ot-website-checkout h2 { font-size:1.25rem; margin:0 0 16px; }
ot-website-checkout label { display:block; font-weight:600; }
ot-website-checkout input { width:100%; margin-top:6px; padding:9px; border:1px solid #aaa; border-radius:4px; font:inherit; }
ot-website-checkout .ot-checkout-fields { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; }
ot-website-checkout .span-all { grid-column:1 / -1; }
ot-website-checkout .ot-checkout-actions { margin-top:20px; text-align:right; }
ot-website-checkout button { background:var(--ot-primary, #0d6efd); border:0; border-radius:var(--ot-radius, 8px); color:#fff; cursor:pointer; font:inherit; font-weight:600; padding:11px 16px; }
ot-website-checkout button:disabled { opacity:.65; cursor:wait; }
ot-website-checkout .ot-checkout-message, ot-website-checkout .ot-checkout-error { margin-top:12px; color:#a00016; }
ot-website-checkout table { border-collapse:collapse; width:100%; }
ot-website-checkout td, ot-website-checkout th { border-bottom:1px solid #ddd; padding:9px 4px; text-align:left; }
ot-website-checkout td:last-child, ot-website-checkout th:last-child { text-align:right; }
ot-website-checkout .ot-checkout-product { display:flex; align-items:center; gap:10px; }
ot-website-checkout .ot-checkout-product-image { flex:0 0 auto; width:44px; height:44px; border-radius:calc(var(--ot-radius, 8px) / 2); object-fit:cover; background:#f3f3f3; }
ot-website-checkout .ot-stripe-host { min-height:400px; }
ot-website-checkout .ot-checkout-edit-cart { margin:-8px 0 16px; }
ot-website-cart { display:block; width:100%; margin:24px auto; }
ot-website-cart .ot-cart { max-width:860px; margin:0 auto; }
ot-website-cart .ot-cart-lines { list-style:none; margin:0; padding:0; }
ot-website-cart .ot-cart-heading, ot-website-cart .ot-cart-line { display:grid; grid-template-columns:32px minmax(160px, 1fr) 96px 142px 104px; align-items:center; gap:14px; }
ot-website-cart .ot-cart-heading { border-bottom:1px solid #bbb; color:var(--ot-muted, #666); font-size:.85rem; font-weight:700; padding:0 0 10px; text-transform:uppercase; }
ot-website-cart .ot-cart-line { border-bottom:1px solid #ddd; padding:14px 0; }
ot-website-cart .ot-cart-heading span:nth-child(3), ot-website-cart .ot-cart-heading span:nth-child(5), ot-website-cart .ot-cart-unit-price, ot-website-cart .ot-cart-line-total { text-align:right; }
ot-website-cart .ot-cart-heading span:nth-child(4), ot-website-cart .ot-cart-quantity { justify-self:center; }
ot-website-cart .ot-checkout-product { display:flex; align-items:center; gap:10px; min-width:0; }
ot-website-cart .ot-checkout-product-image { flex:0 0 auto; width:52px; height:52px; border-radius:calc(var(--ot-radius, 8px) / 2); object-fit:cover; background:#f3f3f3; }
ot-website-cart .ot-cart-quantity { display:inline-flex; align-items:center; }
ot-website-cart .ot-cart-quantity button, ot-website-cart .ot-cart-actions button { background:var(--ot-primary, #0d6efd); border:0; border-radius:var(--ot-radius, 8px); color:#fff; cursor:pointer; font:inherit; font-weight:600; min-width:32px; padding:7px 10px; }
ot-website-cart .ot-cart-quantity input { width:52px; min-height:34px; border:1px solid #aaa; border-radius:4px; font:inherit; margin:0 5px; padding:5px; text-align:center; }
ot-website-cart .ot-cart-remove { align-items:center; background:#c82333; border:0; border-radius:50%; color:#fff; cursor:pointer; display:inline-flex; font-size:1.25rem; font-weight:700; height:28px; justify-content:center; line-height:1; padding:0; width:28px; }
ot-website-cart .ot-cart-remove:hover, ot-website-cart .ot-cart-remove:focus-visible { background:#a71d2a; }
ot-website-cart .ot-cart-total { display:flex; justify-content:flex-end; gap:24px; border-top:2px solid #222; font-size:1.1rem; margin-top:16px; padding-top:16px; }
ot-website-cart .ot-cart-actions { display:flex; align-items:center; gap:12px; justify-content:flex-end; margin-top:20px; }
ot-website-cart .ot-cart-link { color:var(--ot-primary, #0d6efd); font-weight:600; }
ot-website-cart .ot-cart-empty { max-width:640px; margin:32px auto; text-align:center; }
@media (max-width:700px) { ot-website-checkout .ot-checkout-grid { grid-template-columns:1fr; } ot-website-checkout .ot-checkout-fields { grid-template-columns:1fr; } }
@media (max-width:700px) { ot-website-cart .ot-cart-heading { display:none; } ot-website-cart .ot-cart-line { grid-template-columns:32px minmax(0, 1fr) auto; } ot-website-cart .ot-cart-unit-price { display:none; } ot-website-cart .ot-cart-quantity { grid-column:2; } ot-website-cart .ot-cart-line-total { grid-column:3; grid-row:1; } }
