html, body, #root { margin: 0; min-height: 100%; }
body { background: var(--ds-page); }
.file-nav { display: flex; flex-wrap: wrap; gap: 20px; border-bottom: 1px solid var(--ds-hairline); }
.file-nav a { padding: 10px 0; color: var(--ds-ink-2); text-decoration: none; }
.file-nav a[aria-current="page"] { color: var(--ds-ink); box-shadow: inset 0 -1px 0 var(--ds-ink); }
@media (max-width: 600px) { .file-nav a { display: inline-flex; align-items: center; min-height: 44px; } }

.menu { position: relative; z-index: 20; }
.menu-toggle {
    appearance: none; cursor: pointer; font: inherit; font-weight: 600;
    display: inline-flex; align-items: center; gap: 8px;
    min-height: 44px; padding: 8px 18px; border-radius: 999px;
    border: 1px solid var(--ds-hairline); background: var(--ds-page); color: var(--ds-ink);
}
.menu-toggle .chev { color: var(--ds-ink-2); }
.menu-list {
    position: absolute; top: calc(100% + 6px); left: 0; z-index: 21;
    min-width: 230px; margin: 0; padding: 6px; list-style: none;
    background: var(--ds-page); border: 1px solid var(--ds-hairline); border-radius: 14px;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.14);
}
.menu-list button {
    appearance: none; cursor: pointer; font: inherit; text-align: left;
    display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px;
    min-height: 44px; padding: 8px 12px; border: 0; border-radius: 10px;
    background: none; color: var(--ds-ink);
}
.menu-list button:hover { background: rgba(127, 127, 127, 0.12); }
.menu-list button[aria-current="true"] { font-weight: 700; }
.menu-list button[aria-current="true"]::after { content: '✓'; color: var(--ds-ink-2); }
.menu-sub { list-style: none; margin: 2px 0 4px 12px; padding: 2px 0 2px 10px; border-left: 1px solid var(--ds-hairline); }
.file-ground, body { background: var(--ds-page); }
body { margin: 0; }
.file-product-modal { padding-top: 0; }
[hidden] { display: none !important; }
#sections { display: contents; }
.file-price { font-weight: 600; white-space: nowrap; flex: none; }
/* Real product photos: show the whole item in the square tile, white mat instead of cropping. */
.file-product.is-tile .file-product-photo img { object-fit: contain; background: #fff; }
