.order-summary-dialog { box-sizing:border-box; width:min(680px,calc(100vw - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:0; border:1px solid #b9ab9b; border-radius:12px; background:#fffdf9; color:#2b1d13; font:15px/1.5 'Figtree',system-ui,sans-serif; overscroll-behavior:contain; }
.order-summary-dialog::backdrop { background:rgba(25,18,13,.65); }
.order-summary-dialog * { box-sizing:border-box; }
.order-summary-top { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; background:#f4eee4; border-bottom:1px solid #d7cdc0; position:sticky; top:0; z-index:1; }
.order-summary-top h2 { margin:0; font:700 20px/1.25 'Figtree',system-ui,sans-serif; }
.order-summary-dialog button,.order-summary-actions a { padding:10px 13px; border:1px solid #b9ab9b; border-radius:6px; background:#fff; color:#2b1d13; font:700 14px/1.4 'Figtree',system-ui,sans-serif; cursor:pointer; text-decoration:none; }
.order-summary-dialog :focus-visible { outline:3px solid #c1402b; outline-offset:3px; }
.order-summary-dialog button:disabled { opacity:.65; cursor:wait; }
.order-summary-body { padding:22px 20px; overflow-wrap:anywhere; }
.order-summary-body p { margin:8px 0; }
.order-summary-body h3 { margin:0 0 12px; font-size:23px; }
.order-summary-brand { font-weight:700; color:#a93020; }
.order-summary-actions { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 12px; }
.order-summary-actions a[download] { background:#2b1d13; border-color:#2b1d13; color:white; }
.order-summary-hint { font-size:13px; color:#675647; }
.order-summary-feedback { color:#a93020; }
.order-summary-items { border-top:1px solid #d7cdc0; margin-top:20px; }
.order-summary-items > div { padding:14px 0; border-bottom:1px solid #d7cdc0; }
.order-summary-items p { font-size:13px; color:#675647; }
.order-summary-item-heading { display:flex; justify-content:space-between; align-items:start; gap:16px; }
.order-summary-item-heading strong:last-child { flex-shrink:0; }
.order-summary-totals { margin:18px 0; }
.order-summary-totals > div { display:flex; justify-content:space-between; gap:12px; margin:8px 0; }
.order-summary-totals dd { margin:0; font-weight:700; }
.order-summary-totals > div:last-child { font-size:19px; }
