.secondary.shopping-trigger {
    width: 100%;
    min-height: 47px;
    margin: 8px 0 0;
    color: var(--accent);
}

dialog.shopping-dialog {
    width: min(520px, calc(100% - 24px));
    max-height: calc(100dvh - 24px);
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: var(--surface);
    color: var(--text);
}
.shopping-dialog::backdrop { background: #080a10bb; }
.shopping-dialog header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.shopping-dialog h2 { margin: 0; font-weight: 500; }
.shopping-dialog [data-status]:empty, .shopping-dialog [data-checkout]:empty { display: none; }
.shopping-delivery { margin: 0; color: var(--muted); font-size: 13px; }
.shopping-items { list-style: none; margin: 10px 0 12px; padding: 0; }
.shopping-items li { padding: 3px 0; border-bottom: 1px solid var(--line); }
.shopping-items li:first-child { border-top: 1px solid var(--line); }
.shopping-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 8px;
    overflow-wrap: anywhere;
}
.shopping-quantity { color: var(--muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.shopping-remove {
    display: grid;
    place-items: center;
    width: 36px;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--muted);
}
.shopping-remove:hover { color: var(--text); }
.shopping-items summary { cursor: pointer; min-height: 32px; padding: 5px 0; font-size: 13px; }
.shopping-items label { display: flex; align-items: start; gap: 8px; padding: 8px 0; }
.shopping-items small { display: block; }
.shopping-dialog footer { display: grid; gap: 8px; }
.shopping-dialog footer button { margin: 0; font-weight: 500; }
.shopping-dialog [data-checkout] a { display: block; text-align: center; }
@media (pointer: coarse) {
    .shopping-remove { width: 44px; min-height: 44px; }
    .shopping-items summary, .shopping-items label { min-height: 44px; }
}
