/* VoicePa DLGOODS discovery. Loaded after the original store and preference
   modules; all catalogue rules stay within this page, including PJAX visits. */
#page.vp-store-page {
    --vp-store-preferences-bar-height: 56px;
    --vp-store-card-line: #dfd3da;
    --vp-store-card-wash: #f8f3f5;
}
#page.vp-store-page .vp-store-head {
    padding: 14px 16px 12px;
    gap: 8px 14px;
    border-radius: 8px;
}
#page.vp-store-page .vp-store-discovery-brand {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    grid-column: 1;
    grid-row: 2;
}
#page.vp-store-page .vp-store-discovery-brand .vp-store-brand { flex: 1 1 auto; }
#page.vp-store-page .vp-store-head h1 { font-size: 28px; letter-spacing: -.02em; }
#page.vp-store-page .vp-store-discovery-lede {
    grid-column: 1 / -1;
    grid-row: 3;
    margin: 5px 0 0;
    color: #71616d;
    font-size: 12px;
    line-height: 1.65;
}
#page.vp-store-page .vp-store-mascot,
#page.vp-store-page .vp-store img.vp-store-mascot {
    display: block;
    flex: 0 0 auto;
    width: 52px;
    height: 60px;
    max-width: 100%;
    margin: 0;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
}
#page.vp-store-page .vp-store-mascot--welcome,
#page.vp-store-page .vp-store img.vp-store-mascot--welcome { width: 64px; height: 68px; }
#page.vp-store-page .vp-store-shortcuts { gap: 3px 12px; }
#page.vp-store-page .vp-store-head > .vp-store-shortcuts { grid-column: 2; grid-row: 2; }
#page.vp-store-page .vp-store-shortcuts a { min-height: 44px; font-size: 12px; }
#page.vp-store-page .vp-store-discovery-quicktiles {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0;
    padding: 0;
    min-width: 0;
    list-style: none;
}
#page.vp-store-page .vp-store-discovery-tile {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 66px;
    padding: 10px;
    color: #54364a;
    background: #fff;
    border: 1px solid #dfd3da;
    border-radius: 6px;
    text-decoration: none;
}
#page.vp-store-page .vp-store-discovery-tile-icon {
    display: grid;
    flex: 0 0 30px;
    place-items: center;
    width: 30px;
    height: 34px;
    color: #98345f;
    background: #f7edf2;
    border-radius: 4px;
}
#page.vp-store-page .vp-store-discovery-tile-icon svg { width: 20px; height: 20px; }
#page.vp-store-page .vp-store-discovery-tile > div { min-width: 0; }
#page.vp-store-page .vp-store-discovery-tile strong {
    display: block;
    color: #382330;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}
#page.vp-store-page .vp-store-discovery-tile > div > span { display: block; color: #786a73; font-size: 10.5px; line-height: 1.5; }
#page.vp-store-page .vp-store-discovery-tile.is-active { border-color: #b57393; background: #fff8fb; }
#page.vp-store-page .vp-store-discovery-tile--sale .vp-store-discovery-tile-icon { color: #a43f27; background: #fff0e6; }
#page.vp-store-page .vp-store-discovery-tile--free .vp-store-discovery-tile-icon { color: #2e725d; background: #edf5f1; }
#page.vp-store-page .vp-store-discovery-hint {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 48px;
    margin: 8px 0 12px;
    padding: 4px 10px;
    color: #725265;
    background: #fbf6f8;
    border-left: 3px solid #bb7f9d;
    border-radius: 0 4px 4px 0;
}
#page.vp-store-page .vp-store-discovery-hint img.vp-store-mascot { width: 38px; height: 42px; }
#page.vp-store-page .vp-store-discovery-hint p { min-width: 0; font-size: 11px; line-height: 1.65; }
#page.vp-store-page .vp-store-discovery-hint p > strong,
#page.vp-store-page .vp-store-discovery-hint p > span { display: block; }
#page.vp-store-page .vp-store-discovery-rail-note { display: flex; align-items: flex-start; gap: 7px; padding: 10px 5px; margin-top: 8px; color: #75596a; }
#page.vp-store-page .vp-store-discovery-rail-note .vp-store-mascot { width: 38px; height: 46px; }
#page.vp-store-page .vp-store-discovery-rail-note p { min-width: 0; margin: 0; font-size: 10px; line-height: 1.7; }
#page.vp-store-page .vp-store-discovery-rail-note p > strong,
#page.vp-store-page .vp-store-discovery-rail-note p > span { display: block; }
#page.vp-store-page .vp-store-discovery-toolbar {
    display: none;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 8px;
    margin: 12px 0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 2px 4px #37222c0a;
}
html.vp-store-discovery-js #page.vp-store-page .vp-store-discovery-toolbar { display: flex; }
#page.vp-store-page .vp-store-toolbar-tools { display: flex; align-items: center; gap: 6px; min-width: 0; }
#page.vp-store-page .vp-store-filter-open,
#page.vp-store-page .vp-store-view-switch { display: none; }
html.vp-store-discovery-js #page.vp-store-page .vp-store-filter-open { display: inline-flex; }
html.vp-store-discovery-js #page.vp-store-page .vp-store-view-switch { display: flex; }
#page.vp-store-page .vp-store-filter-open,
#page.vp-store-page .vp-store-view-switch button {
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 44px;
    padding: 7px 11px;
    border: 1px solid #d4c3ce;
    border-radius: 5px;
    color: #513c4b;
    background: #fff;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    cursor: pointer;
}
#page.vp-store-page .vp-store-filter-open > svg,
#page.vp-store-page .vp-store-view-switch svg { width: 18px; height: 18px; }
#page.vp-store-page .vp-store-view-switch { flex: 0 0 auto; gap: 2px; padding: 0; background: #f6f1f4; border: 0; border-radius: 6px; }
#page.vp-store-page .vp-store-view-switch button { display: inline-flex; min-width: 44px; min-height: 44px; padding: 6px 9px; border-color: transparent; background: transparent; color: #756270; }
#page.vp-store-page .vp-store-view-switch button[aria-pressed="true"] { color: #92315c; background: #fff; border-color: #d9c3cf; }
#page.vp-store-page .vp-store-discovery-toolbar .vp-store-preferences-toolbar-label { display: none; }
#page.vp-store-page .vp-store .vp-store-discovery-toolbar .vp-store-preferences-trigger { padding-inline: 10px; font-size: 12px; background: #fff; border-color: #d4c3ce; }
#page.vp-store-page .vp-store-preferences-count { color: #90305b; background: #f6e9ef; }
/* Enhanced controls are progressive: the original GET filters remain usable
   without JavaScript and the desktop form stays available at every width. */
#page.vp-store-page .vp-store-form { padding: 13px 14px 0; border-radius: 7px; }
#page.vp-store-page .vp-store-search { min-height: 46px; border-radius: 5px; border-color: #b899aa; }
#page.vp-store-page .vp-store-search input { height: 46px; font-size: 16px; }
#page.vp-store-page .vp-store-search button { min-height: 46px; padding-inline: 14px; }
#page.vp-store-page .vp-store-filter-grid select,
#page.vp-store-page .vp-store-sort select { min-height: 44px; font-size: 16px; }
#page.vp-store-page .vp-store-kinds a { min-height: 46px; }
#page.vp-store-page .vp-store-filter-summary { min-height: 44px; }
#page.vp-store-page .vp-store-filter-actions a,
#page.vp-store-page .vp-store-filter-actions button { min-height: 44px; }
#page.vp-store-page .vp-store-results-head { margin: 18px 0 10px; padding: 10px; border-radius: 3px; }
#page.vp-store-page .vp-store-results-head > div { flex: 1 1 auto; min-width: 0; }
#page.vp-store-page .vp-store-sort { gap: 6px; }
#page.vp-store-page .vp-store-sort select { width: 148px; min-width: 148px; padding-block: 7px; }
#page.vp-store-page .vp-store-sort-submit { min-height: 44px; margin: 0; padding: 7px 10px; color: #fff; background: #98345f; border: 1px solid #98345f; border-radius: 4px; font-size: 12px; font-weight: 600; line-height: 1.4; }
html.vp-store-discovery-js #page.vp-store-page .vp-store-sort-submit { display: none; }
#page.vp-store-page .vp-store-chips a { min-height: 44px; padding: 5px 9px; }
#page.vp-store-page .vp-store-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px 12px; }
#page.vp-store-page .vp-store-grid .vp-store-card {
    border: 1px solid var(--vp-store-card-line);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
}
#page.vp-store-page .vp-store-card__art { background: #f3edf0; }
#page.vp-store-page .vp-store-card__body { padding: 11px; }
#page.vp-store-page .vp-store-card__title { color: #362331; font-size: 14px; line-height: 1.55; }
#page.vp-store-page .vp-store-card__title a { min-height: 3.1em; }
#page.vp-store-page .vp-store-card__type { align-self: flex-start; max-width: 100%; padding: 1px 5px; border-radius: 3px; font-size: 10.5px; }
#page.vp-store-page .vp-store-card__creator { display: flex; align-items: center; gap: 5px; min-width: 0; margin-top: 5px; color: #786773; font-size: 11px; }
#page.vp-store-page .vp-store-card__creator a,
#page.vp-store-page .vp-store-card__creator > span { display: flex; align-items: center; gap: 5px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page.vp-store-page .vp-store-card__creator a > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#page.vp-store-page img.vp-store-card__creator-avatar { flex: 0 0 18px; width: 18px; height: 18px; border-radius: 50%; object-fit: cover; }
#page.vp-store-page .vp-store-card__summary { margin-top: 6px; color: #6b5c67; font-size: 11.5px; line-height: 1.6; }
#page.vp-store-page .vp-store-card__genres { margin-top: 6px; font-size: 10.5px; gap: 3px 4px; }
#page.vp-store-page .vp-store-card__genres span { padding: 1px 5px; border-radius: 3px; background: #f5f0f3; color: #785b6d; }
#page.vp-store-page .vp-store-card__rating,
#page.vp-store-page .vp-store-card__review { margin-top: 6px; font-size: 11px; }
#page.vp-store-page .vp-store-card__price { gap: 3px 6px; margin-top: 8px; color: #b42f4b; font-size: 20px; font-weight: 750; }
#page.vp-store-page .vp-store-card__free,
#page.vp-store-page .vp-store-card__discount { display: inline-flex; align-items: center; padding: 2px 5px; border-radius: 3px; font-size: 10px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
#page.vp-store-page .vp-store-card__free { color: #23674c; background: #eaf5ef; }
#page.vp-store-page .vp-store-card__discount { color: #a23832; background: #fff0e8; }
#page.vp-store-page .vp-store-card__facts { gap: 3px 8px; margin-top: 6px; font-size: 10.5px; color: #7b6c77; }
#page.vp-store-page .vp-store-card__bottom { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding-top: 10px; align-items: stretch; }
#page.vp-store-page .vp-store-card__bottom:has(> .vp-store-card__preview):has(> .vp-store-card__favorite) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
#page.vp-store-page .vp-store-card__bottom > :only-child { grid-column: 1 / -1; }
#page.vp-store-page .vp-store-card__bottom:has(> .vp-store-card__detail + .vp-store-card__favorite) { grid-template-columns: minmax(0, 1fr) 44px; }
#page.vp-store-page .vp-store-card__detail,
#page.vp-store-page .vp-store-card__preview,
#page.vp-store-page .vp-store-card__favorite { min-width: 0; min-height: 44px; padding: 6px 4px; font-size: 11px; line-height: 1.3; }
#page.vp-store-page .vp-store-card__detail { color: #823055; background: #f8eef3; }
#page.vp-store-page .vp-store-card__favorite { position: relative; padding: 0; border: 0; outline: 1px solid #e3d8df; outline-offset: -1px; }
#page.vp-store-page .vp-store-card__favorite .my-favorites-button { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 10px; }
#page.vp-store-page .vp-store-card__favorite .my-favorites-count { position: absolute; top: 1px; right: 2px; max-width: 32px; padding: 1px 2px; border-radius: 2px; color: #705a67; background: #fff; font-size: 9px; line-height: 1.1; pointer-events: none; }
#page.vp-store-page .vp-store-card__bottom svg { width: 15px; height: 15px; }
#page.vp-store-page .vp-store-card--protected > .vp-store-card__art { align-self: start; border: 1px solid #e4d9df; border-radius: 4px; aspect-ratio: 4 / 3; object-fit: contain; }
#page.vp-store-page .vp-store-card__flag,
#page.vp-store-page .vp-store-card__flags > span { min-height: 20px; padding: 2px 5px; font-size: 10px; line-height: 1.5; border-radius: 3px; }
/* Explicit list selection works on desktop as well as mobile. Feature/PR
   carousels retain their own compact horizontal layout. */
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid > .vp-store-card { display: grid; grid-template-columns: 170px minmax(0, 1fr); padding: 12px; gap: 14px; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__media { align-self: start; border: 1px solid #e4d9df; border-radius: 4px; overflow: hidden; background: #faf7f9; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__art { aspect-ratio: 4 / 3; border-bottom: 0; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__flags { position: static; padding: 6px; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__body { padding: 0; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__title { font-size: 16px; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__title a { min-height: auto; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__summary { font-size: 12px; }
#page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__bottom { max-width: 380px; margin-top: 0; }
#page.vp-store-page .vp-store-featured { margin: 16px 0 18px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr { border-radius: 6px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__title { font-size: 14px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__price { font-size: 19px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__bottom { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__bottom:has(> .vp-store-card__preview):has(> .vp-store-card__favorite) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__bottom:has(> .vp-store-card__detail + .vp-store-card__favorite) { grid-template-columns: minmax(0, 1fr) 44px; }
#page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__detail > svg { display: none; }
#page.vp-store-page .vp-store-player { grid-template-columns: minmax(0, 1fr) 44px; gap: 8px; padding: 10px; border-radius: 6px; background: #3d2636; box-shadow: 0 3px 8px #35222d12; }
#page.vp-store-page .vp-store-player img.vp-store-mascot { width: 42px; height: 44px; }
#page.vp-store-page .vp-store-player > :where(p, strong, span, div) { grid-column: 1; }
#page.vp-store-page .vp-store-player > div { display: flex; align-items: center; gap: 8px; }
#page.vp-store-page .vp-store-player > div > span { min-width: 0; overflow-wrap: anywhere; }
#page.vp-store-page .vp-store-player button { grid-column: 2; width: 44px; height: 44px; }
#page.vp-store-page .vp-store-player audio { height: 40px; }
#page.vp-store-page .vp-store-empty { padding: 24px 16px; gap: 8px; border-radius: 7px; }
#page.vp-store-page .vp-store-empty img.vp-store-mascot { width: 78px; height: 84px; }
#page.vp-store-page .vp-store-empty a { min-height: 44px; }
#page.vp-store-page .vp-store-seller { gap: 10px; padding: 14px; border-radius: 6px; background: #f5edf1; }
#page.vp-store-page .vp-store-seller img.vp-store-mascot { width: 52px; height: 60px; }
#page.vp-store-page .vp-store-seller-icon { flex: 0 0 52px; width: 52px; }
#page.vp-store-page .vp-store-seller > div:not(.vp-store-seller-links) { flex: 1 1 160px; }
#page.vp-store-page .vp-store-seller-links a { min-height: 44px; }
#page.vp-store-page .vp-store-service summary { min-height: 44px; }
#page.vp-store-page .vp-store-pagination :where(a, button) { min-height: 44px; }
#page.vp-store-page .vp-store-feedback { background: #fff9f4; border-radius: 5px; }
/* Filter sheet is a separate dialog from the full-screen content preference
   welcome. In fallback mode it still stays above the inert page. */
.vp-store-filter-dialog {
    box-sizing: border-box;
    position: fixed;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
    width: min(580px, calc(100vw - 32px));
    max-width: 580px;
    height: auto;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    margin: 0;
    padding: 0;
    overflow: hidden;
    color: #2d2130;
    background: #fffdfa;
    border: 1px solid #d6becb;
    border-radius: 10px;
    box-shadow: 0 12px 40px #21141e3d;
    font-family: inherit;
    font-size: 14px;
    line-height: 1.6;
    letter-spacing: 0;
    z-index: 2147483500;
    color-scheme: light;
    overscroll-behavior: contain;
}
.vp-store-filter-dialog[hidden],
.vp-store-filter-dialog:not([open]) { display: none !important; }
.vp-store-filter-dialog::backdrop { background: #25151f99; }
.vp-store-filter-dialog[data-vp-store-filter-fallback] { position: fixed; inset: 50% auto auto 50%; transform: translate(-50%, -50%); box-shadow: 0 0 0 100vmax #25151f99, 0 12px 40px #21141e3d; }
.vp-store-filter-dialog,
.vp-store-filter-dialog * { box-sizing: border-box; }
.vp-store-filter-dialog .vp-store-filter-panel { display: flex; flex-direction: column; min-height: 0; max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); }
.vp-store-filter-dialog .vp-store-filter-head { display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between; gap: 12px; min-height: 68px; padding: 12px 18px; color: #3c2835; background: #fff; border-bottom: 1px solid #e8dce3; }
.vp-store-filter-dialog .vp-store-filter-head h2 { margin: 0; padding: 0; color: #3c2835; background: none; border: 0; font-family: inherit; font-size: 19px; font-weight: 700; line-height: 1.5; letter-spacing: 0; }
.vp-store-filter-dialog .vp-store-filter-head p { margin: 2px 0 0; color: #7b6b76; font-size: 11px; }
.vp-store-filter-dialog #vp-store-filter-description { flex: 0 0 auto; margin: 0; padding: 12px 18px 0; color: #7b6b76; font-size: 11px; line-height: 1.65; }
.vp-store-filter-dialog .vp-store-filter-close { display: grid; flex: 0 0 44px; place-items: center; width: 44px; height: 44px; margin: 0; padding: 8px; color: #6e5364; background: #f8f1f5; border: 1px solid #e4d5de; border-radius: 50%; cursor: pointer; }
.vp-store-filter-dialog svg { width: 20px; height: 20px; }
.vp-store-filter-dialog .vp-store-filter-sheet-form { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; margin: 0; padding: 0; border: 0; }
.vp-store-filter-dialog .vp-store-filter-sheet-fields { display: grid; flex: 1 1 auto; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 14px; min-height: 0; padding: 20px 18px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c6a8b8 #faf5f7; }
.vp-store-filter-dialog .vp-store-filter-field { display: grid; min-width: 0; gap: 6px; margin: 0; color: #5a3f50; font-size: 12px; font-weight: 600; line-height: 1.5; }
.vp-store-filter-dialog .vp-store-filter-field select,
.vp-store-filter-dialog .vp-store-filter-field input { display: block; width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 9px 30px 9px 10px; color: #352631; background-color: #fff; border: 1px solid #d5c4ce; border-radius: 5px; font-family: inherit; font-size: 16px; line-height: 1.5; box-shadow: none; }
.vp-store-filter-dialog .vp-store-filter-sheet-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 12px; padding: 14px 18px; background: #fff; border-top: 1px solid #e7dbe2; }
.vp-store-filter-dialog .vp-store-filter-sheet-actions button { display: inline-flex; flex: 1 1 auto; align-items: center; justify-content: center; gap: 7px; min-height: 48px; margin: 0; padding: 10px 16px; color: #fff; background: #98345f; border: 1px solid #98345f; border-radius: 5px; font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1.4; cursor: pointer; }
.vp-store-filter-dialog .vp-store-filter-sheet-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 7px 6px; color: #7c5b6c; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.vp-store-filter-dialog :where(button, input, select, a):focus-visible { outline: 3px solid #b44978; outline-offset: 3px; }
.vp-store-filter-dialog [hidden] { display: none !important; }
@media (hover: hover) {
    #page.vp-store-page .vp-store-discovery-tile:hover { border-color: #bf88a2; background: #fffafb; }
    #page.vp-store-page .vp-store-filter-open:hover,
    #page.vp-store-page .vp-store-view-switch button:hover { color: #92315b; border-color: #bb88a0; }
    #page.vp-store-page .vp-store-grid .vp-store-card:hover { border-color: #c3a0b2; }
    .vp-store-filter-dialog .vp-store-filter-sheet-actions button:hover { background: #762348; }
}
@media (max-width: 900px) {
    #page.vp-store-page .vp-store-discovery-brand { gap: 10px; }
    #page.vp-store-page .vp-store-discovery-tile { padding: 9px; gap: 7px; }
    #page.vp-store-page .vp-store-discovery-rail-note { display: none; }
}
@media (max-width: 600px) {
    #page.voicepa-dlgoods.vp-store-page { padding: 10px 10px 0; }
    #page.vp-store-page .vp-store-head { padding: 12px; gap: 7px; }
    #page.vp-store-page .vp-store-head h1 { font-size: 25px; }
    #page.vp-store-page .vp-store-brand-icon { display: none; }
    #page.vp-store-page .vp-store-discovery-brand { gap: 7px; }
    #page.vp-store-page .vp-store-discovery-brand { grid-column: 1; grid-row: 1; }
    #page.vp-store-page .vp-store-discovery-lede { grid-column: 1; grid-row: 2; }
    #page.vp-store-page .vp-store-head > .vp-store-shortcuts { grid-column: 1; grid-row: 3; }
    #page.vp-store-page .vp-store-mascot--welcome,
    #page.vp-store-page .vp-store img.vp-store-mascot--welcome { width: 55px; height: 60px; }
    #page.vp-store-page .vp-store-discovery-lede { font-size: 11px; }
    #page.vp-store-page .vp-store-shortcuts { gap: 0; padding-top: 4px; }
    #page.vp-store-page .vp-store-shortcuts a { min-height: 44px; font-size: 11px; }
    #page.vp-store-page .vp-store-discovery-quicktiles {
        grid-template-columns: none;
        grid-auto-flow: column;
        grid-auto-columns: 132px;
        gap: 7px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        padding-bottom: 6px;
        margin-block: 10px;
        scroll-snap-type: x proximity;
        scrollbar-width: thin;
        scrollbar-color: #cdb3c1 transparent;
        -webkit-overflow-scrolling: touch;
    }
    #page.vp-store-page .vp-store-discovery-tile { min-height: 61px; padding: 8px; gap: 7px; scroll-snap-align: start; }
    #page.vp-store-page .vp-store-discovery-tile strong { font-size: 12px; }
    #page.vp-store-page .vp-store-discovery-tile > div > span { font-size: 10px; }
    #page.vp-store-page .vp-store-discovery-tile-icon { flex-basis: 27px; width: 27px; height: 31px; }
    #page.vp-store-page .vp-store-discovery-hint { margin-top: 4px; padding-inline: 8px; }
    #page.vp-store-page .vp-store-discovery-hint p { font-size: 10.5px; }
    #page.vp-store-page .vp-store-discovery-toolbar { padding-inline: 6px; gap: 5px; margin: 10px 0; }
    #page.vp-store-page .vp-store-toolbar-tools { gap: 5px; }
    #page.vp-store-page .vp-store-filter-open { padding-inline: 8px; font-size: 11px; }
    #page.vp-store-page .vp-store-view-switch { gap: 0; padding: 0; }
    #page.vp-store-page .vp-store-view-switch button { min-width: 44px; min-height: 44px; padding-inline: 9px; }
    #page.vp-store-page .vp-store-view-switch button > span { display: none; }
    #page.vp-store-page .vp-store .vp-store-discovery-toolbar .vp-store-preferences-trigger { gap: 5px; padding-inline: 8px; font-size: 11px; }
    html.vp-store-discovery-js #page.vp-store-page .vp-store-form > .vp-store-filters { display: none; }
    #page.vp-store-page .vp-store-form { padding: 11px 10px 0; }
    #page.vp-store-page .vp-store-search { gap: 6px; padding-left: 9px; }
    #page.vp-store-page .vp-store-search button { min-width: 58px; padding-inline: 10px; }
    #page.vp-store-page .vp-store-kinds a { padding-inline: 11px; min-height: 46px; }
    #page.vp-store-page .vp-store-results-head { align-items: center; gap: 8px; padding: 8px; }
    #page.vp-store-page .vp-store-results-head h2 { font-size: 16px; }
    #page.vp-store-page .vp-store-sort { gap: 4px; margin-left: auto; }
    #page.vp-store-page .vp-store-sort select { width: 148px; min-width: 148px; max-width: 148px; padding-right: 24px; padding-left: 8px; }
    #page.vp-store-page .vp-store-chips { gap: 5px; margin-bottom: 10px; }
    #page.vp-store-page .vp-store-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    #page.vp-store-page .vp-store-grid > .vp-store-card,
    #page.vp-store-page[data-vp-store-view="list"] .vp-store-grid > .vp-store-card {
        display: grid;
        grid-template-columns: 112px minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }
    #page.vp-store-page .vp-store-grid .vp-store-card__media { align-self: start; border: 1px solid #e4d9df; border-radius: 4px; overflow: hidden; background: #faf7f9; }
    #page.vp-store-page .vp-store-grid .vp-store-card__art { aspect-ratio: 4 / 3; border-bottom: 0; }
    #page.vp-store-page .vp-store-grid .vp-store-card__flags { position: static; padding: 5px; gap: 3px; }
    #page.vp-store-page .vp-store-grid .vp-store-card__body { padding: 0; }
    #page.vp-store-page .vp-store-grid .vp-store-card__title,
    #page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__title { font-size: 14px; }
    #page.vp-store-page .vp-store-grid .vp-store-card__title a { min-height: auto; }
    #page.vp-store-page .vp-store-grid .vp-store-card__summary,
    #page.vp-store-page[data-vp-store-view="list"] .vp-store-grid .vp-store-card__summary { font-size: 12px; }
    #page.vp-store-page .vp-store-card__type { margin-bottom: 4px; font-size: 10px; }
    #page.vp-store-page .vp-store-card__creator { margin-top: 5px; font-size: 12px; }
    #page.vp-store-page .vp-store-card__facts { font-size: 11px; }
    #page.vp-store-page .vp-store-card__genres { font-size: 11px; }
    #page.vp-store-page .vp-store-card__price { font-size: 20px; }
    #page.vp-store-page .vp-store-card__bottom { gap: 4px; padding-top: 8px; }
    #page.vp-store-page .vp-store-card__detail,
    #page.vp-store-page .vp-store-card__preview { padding: 6px 3px; font-size: 11px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 8px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid > .vp-store-card { display: flex; flex-direction: column; padding: 0; gap: 0; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__media { align-self: stretch; border: 0; border-radius: 0; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__art { border-bottom: 1px solid #eee4e9; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__flags { position: static; padding: 5px 7px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__body { padding: 9px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__title { font-size: 13px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__summary { font-size: 11.5px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__creator { font-size: 11px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__facts { font-size: 10.5px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__title a { min-height: 3.1em; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__bottom { grid-template-columns: minmax(0, 1fr); }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__bottom:has(> .vp-store-card__favorite) { grid-template-columns: minmax(0, 1fr) 44px; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__bottom:has(> .vp-store-card__preview) .vp-store-card__detail { grid-column: 1 / -1; }
    #page.vp-store-page[data-vp-store-view="grid"] .vp-store-grid .vp-store-card__bottom .vp-store-card__favorite { grid-column: 2; }
    #page.vp-store-page .vp-store-feature-grid { grid-auto-columns: 88%; gap: 10px; padding-bottom: 8px; }
    #page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr { grid-template-columns: 92px minmax(0, 1fr); }
    #page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__body { padding: 9px; }
    #page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__title { font-size: 13px; }
    #page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr .vp-store-card__art { min-height: 148px; }
    #page.vp-store-page .vp-store-seller { padding: 12px; }
    #page.vp-store-page .vp-store-seller h2 { font-size: 14px; }
    #page.vp-store-page .vp-store-seller-links { width: 100%; }
    #page.vp-store-page .vp-store-seller-links a { flex: 1 1 0; }
    .vp-store-filter-dialog {
        inset: auto 0 0;
        transform: none;
        width: 100%;
        max-width: none;
        max-height: calc(100vh - max(16px, env(safe-area-inset-top)));
        max-height: calc(100dvh - max(16px, env(safe-area-inset-top)));
        margin: 0;
        border: 0;
        border-top: 1px solid #d6becb;
        border-radius: 14px 14px 0 0;
    }
    .vp-store-filter-dialog[data-vp-store-filter-fallback] { inset: auto 0 0; transform: none; }
    .vp-store-filter-dialog .vp-store-filter-panel { max-height: calc(100vh - max(16px, env(safe-area-inset-top))); max-height: calc(100dvh - max(16px, env(safe-area-inset-top))); }
    .vp-store-filter-dialog .vp-store-filter-head { min-height: 66px; padding: 10px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); }
    .vp-store-filter-dialog .vp-store-filter-sheet-fields { padding: 18px max(16px, env(safe-area-inset-right)) 18px max(16px, env(safe-area-inset-left)); gap: 15px 12px; }
    .vp-store-filter-dialog .vp-store-filter-sheet-actions { padding: 12px max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
}
@media (max-width: 420px) {
    #page.vp-store-page .vp-store-discovery-toolbar .vp-store-preferences-count { display: none; }
    #page.vp-store-page .vp-store-sort > span { display: none; }
}
@media (max-width: 360px) {
    #page.voicepa-dlgoods.vp-store-page { padding-inline: 7px; }
    #page.vp-store-page .vp-store-grid > .vp-store-card,
    #page.vp-store-page[data-vp-store-view="list"] .vp-store-grid > .vp-store-card { grid-template-columns: 88px minmax(0, 1fr); gap: 8px; padding: 8px; }
    #page.vp-store-page .vp-store-grid .vp-store-card__flags > span { padding: 2px 4px; font-size: 9px; }
    #page.vp-store-page .vp-store-grid .vp-store-card__bottom { gap: 3px; }
    #page.vp-store-page .vp-store-discovery-toolbar .vp-store-filter-open { gap: 4px; padding-inline: 7px; }
    #page.vp-store-page .vp-store-view-switch button { min-width: 44px; padding-inline: 8px; }
    #page.vp-store-page .vp-store-result-count { margin-left: 4px; }
    #page.vp-store-page .vp-store-sort select { min-width: 148px; width: 148px; }
    #page.vp-store-page .vp-store-feature-grid { grid-auto-columns: 94%; }
    #page.vp-store-page .vp-store-feature-grid > .vp-store-card--pr { grid-template-columns: 80px minmax(0, 1fr); }
    .vp-store-filter-dialog .vp-store-filter-sheet-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; }
}
@media (prefers-reduced-motion: reduce) {
    #page.vp-store-page .vp-store-discovery-quicktiles { scroll-behavior: auto; scroll-snap-type: none; }
    .vp-store-filter-dialog,
    .vp-store-filter-dialog * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
    #page.vp-store-page .vp-store-discovery-tile,
    #page.vp-store-page .vp-store-grid .vp-store-card,
    #page.vp-store-page .vp-store-view-switch,
    #page.vp-store-page .vp-store-card__detail,
    #page.vp-store-page .vp-store-card__preview,
    #page.vp-store-page .vp-store-card__favorite,
    .vp-store-filter-dialog { border-color: CanvasText; }
    #page.vp-store-page .vp-store-view-switch button[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -2px; }
    .vp-store-filter-dialog::backdrop { background: Canvas; opacity: .85; }
}
@media print {
    #page.vp-store-page .vp-store-discovery-toolbar,
    #page.vp-store-page .vp-store-mascot,
    .vp-store-filter-dialog { display: none !important; }
}
