/* Storefront grids, centered header, product-card audio, and content embeds. */
.product-grid {
    --product-grid-columns: 4;
    display: grid !important;
    grid-template-columns: repeat(var(--product-grid-columns), minmax(0, 1fr)) !important;
    align-items: start;
    gap: clamp(.85rem, 1.5vw, 1.5rem) !important;
}
.product-grid.grid-cols-3 { --product-grid-columns: 3; }
.product-grid.grid-cols-4 { --product-grid-columns: 4; }
.product-grid.grid-cols-5 { --product-grid-columns: 5; }
.product-grid.grid-cols-6 { --product-grid-columns: 6; }
.product-grid > .product-card { width: 100%; min-width: 0; }
.product-grid > .product-card:hover,
.product-grid > .product-card:focus-within {
    background: var(--interactive-hover-bg) !important;
    color: var(--interactive-hover-text) !important;
}
.product-grid > .product-card:hover .product-meta,
.product-grid > .product-card:hover .product-meta small,
.product-grid > .product-card:hover .product-meta h3,
.product-grid > .product-card:hover .product-meta a,
.product-grid > .product-card:hover .product-meta strong,
.product-grid > .product-card:focus-within .product-meta,
.product-grid > .product-card:focus-within .product-meta small,
.product-grid > .product-card:focus-within .product-meta h3,
.product-grid > .product-card:focus-within .product-meta a,
.product-grid > .product-card:focus-within .product-meta strong { color: var(--interactive-hover-text) !important; }

/* Category cards keep their theme gradient until interaction, then match navbar hover. */
body.theme-pink-producer:not(.admin-body) { --category-nav-hover-bg: #ff5fa2; --category-nav-hover-text: #fff; }
body.theme-pink-peach-purple:not(.admin-body) { --category-nav-hover-bg: #7a5c89; --category-nav-hover-text: #fff; }
body.theme-maroon-teal-sage:not(.admin-body) { --category-nav-hover-bg: #4b1426; --category-nav-hover-text: #fff; }
body.theme-black-espresso-brown:not(.admin-body) { --category-nav-hover-bg: #412d15; --category-nav-hover-text: #fff; }
body.theme-classic:not(.admin-body) { --category-nav-hover-bg: #542333; --category-nav-hover-text: #fffaf1; }
body.theme-music-store:not(.admin-body) { --category-nav-hover-bg: #8a3fb0; --category-nav-hover-text: #fff; }
body.theme-artist-page:not(.admin-body) { --category-nav-hover-bg: #f1ada7; --category-nav-hover-text: #211b4a; }
body:not(.admin-body) .category-strip a:hover,
body:not(.admin-body) .category-strip a:focus,
body:not(.admin-body) .category-strip a:focus-visible {
    background: var(--category-nav-hover-bg, var(--fast-nav-hover-bg, var(--interactive-hover-bg))) !important;
    color: var(--category-nav-hover-text, var(--fast-nav-hover-text, var(--interactive-hover-text))) !important;
    border-color: var(--category-nav-hover-bg, var(--fast-nav-hover-bg, var(--interactive-hover-bg))) !important;
    box-shadow: var(--interactive-hover-shadow) !important;
}
body:not(.admin-body) .category-strip a:hover span,
body:not(.admin-body) .category-strip a:hover small,
body:not(.admin-body) .category-strip a:hover b,
body:not(.admin-body) .category-strip a:focus span,
body:not(.admin-body) .category-strip a:focus small,
body:not(.admin-body) .category-strip a:focus b,
body:not(.admin-body) .category-strip a:focus-visible span,
body:not(.admin-body) .category-strip a:focus-visible small,
body:not(.admin-body) .category-strip a:focus-visible b {
    color: var(--category-nav-hover-text, var(--fast-nav-hover-text, var(--interactive-hover-text))) !important;
}
.product-grid .product-art { width: 100%; aspect-ratio: 4 / 3 !important; }
.product-art-link { position: absolute; inset: 0; display: grid; place-items: center; }
.product-grid .product-art img { width: 100%; height: 100%; object-fit: cover; }
.product-grid .product-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .28rem;
    min-width: 0;
}
.product-grid .product-meta small,
.product-grid .product-meta h3,
.product-grid .product-meta strong,
.product-grid .card-tags {
    grid-column: 1 / -1;
}
.product-grid .product-meta h3 {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.product-grid .product-meta strong {
    grid-row: auto;
    grid-column: 1 / -1;
    align-self: start;
    white-space: nowrap;
}

.product-card-audio {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 4;
    display: grid;
    width: clamp(44px, 4vw, 58px);
    height: clamp(44px, 4vw, 58px);
    padding: 0;
    place-items: center;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    background: rgba(8,8,10,.78);
    color: #fff;
    box-shadow: 0 8px 28px rgba(0,0,0,.32);
    cursor: pointer;
    backdrop-filter: blur(7px);
    transition: background .2s, transform .2s, box-shadow .2s;
}
.product-card-audio:hover,
.product-card-audio:focus-visible,
.product-card-audio.is-playing {
    background: var(--button-bg, #ff5fa2);
    box-shadow: 0 10px 30px rgba(255,95,162,.3);
    transform: translate(-50%, -50%) scale(1.06);
}
.audio-pause-icon { display: none; letter-spacing: -3px; transform: translateX(-1px); }
.product-card-audio.is-playing .audio-play-icon { display: none; }
.product-card-audio.is-playing .audio-pause-icon { display: inline; }

.site-header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
}
.site-header > .brand { justify-self: start; }
.site-header > nav { grid-column: 2; justify-self: center; }
.header-utilities { grid-column: 3; justify-self: end; display: flex; align-items: center; gap: .65rem; }

.blog-product-embed {
    display: grid;
    grid-template-columns: minmax(150px, 230px) minmax(0, 1fr);
    gap: 1.25rem;
    margin: 2rem 0;
    overflow: hidden;
    border: 1px solid var(--card-border, var(--line));
    border-radius: 12px;
    background: var(--card, var(--surface));
}
.blog-product-cover { min-height: 190px; background: var(--surface-muted); }
.blog-product-cover img { width: 100%; height: 100%; margin: 0 !important; object-fit: cover; }
.blog-product-cover span { display: grid; height: 100%; place-items: center; font-size: 3rem; }
.blog-product-copy { align-self: center; padding: 1.2rem 1.2rem 1.2rem 0; }
.blog-product-copy h3 { margin: .55rem 0; }
.blog-product-copy p { color: var(--muted); }
.shortcode-button { display: inline-flex; margin: .5rem .5rem .5rem 0; padding: .75rem 1rem; border-radius: 6px; background: var(--button-bg); color: var(--button-text) !important; font-weight: 800; text-decoration: none; }
.shortcode-button:hover { background: var(--button-hover-bg); color: var(--button-hover-text) !important; }
.content-card-grid,.quote-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.blog-grid.grid-cols-3 { grid-template-columns: repeat(3,minmax(0,1fr)) !important; }
.blog-grid.grid-cols-4 { grid-template-columns: repeat(4,minmax(0,1fr)) !important; }
.blog-grid.grid-cols-5 { grid-template-columns: repeat(5,minmax(0,1fr)) !important; }
.blog-grid.grid-cols-6 { grid-template-columns: repeat(6,minmax(0,1fr)) !important; }
.content-card,.quote-grid blockquote,.faq-list details { padding: 1.2rem; border: 1px solid var(--line); border-radius: 10px; background: var(--card); }
.video-embed iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.faq-list { display: grid; gap: .75rem; margin-top: 1.5rem; }
.faq-list summary { cursor: pointer; font-weight: 800; }
.social-icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.site-footer .socials { align-items: center; gap: .6rem; }
.site-footer .social-icon-link {
    display: grid;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--fast-highlight-text,var(--highlight-color)) !important;
    background: #fff !important;
    border-color: #fff !important;
    transition: color .2s, background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.site-footer .social-icon-link svg { width: 19px; height: 19px; fill: currentColor; }
.site-footer .social-icon-link:hover,
.site-footer .social-icon-link:focus-visible {
    color: #fff !important;
    background: var(--fast-highlight-text,var(--highlight-color)) !important;
    border-color: var(--fast-highlight-text,var(--highlight-color)) !important;
    transform: translateY(-2px);
    box-shadow: var(--interactive-hover-shadow);
}
.site-footer .footer-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.site-footer .footer-theme-name { font-weight: 700; letter-spacing: .04em; }
.site-footer .footer-theme-switcher { display: inline-flex; align-items: center; gap: .55rem; margin: 0; }
.site-footer .footer-theme-switcher label { margin: 0; color: inherit; font-size: inherit; font-weight: 700; letter-spacing: .04em; }
.site-footer .footer-theme-switcher select { width: auto; min-width: 190px; margin: 0; padding: .4rem 2rem .4rem .65rem; border: 1px solid currentColor; border-radius: 999px; background: var(--primary); color: var(--on-primary); font-size: .75rem; }
.site-footer .footer-theme-switcher button { margin: 0; padding: .42rem .8rem; border: 1px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }

@media (max-width: 1100px) {
    .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .content-card-grid,.quote-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .site-header { display: grid !important; grid-template-columns: minmax(0,1fr) auto; }
    .site-header > nav { grid-column: 1 / -1; justify-self: stretch; }
    .header-utilities { grid-column: 2; grid-row: 1; }
}
@media (max-width: 560px) {
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .75rem !important; }
    .product-grid .product-art { aspect-ratio: 1 / 1 !important; }
    .product-grid .product-meta { padding: .75rem; }
    .product-grid .product-meta small { font-size: .58rem; line-height: 1.1; }
    .product-grid .product-meta h3 { min-height: 2.5em; font-size: .86rem; line-height: 1.22; }
    .product-grid .product-meta strong { font-size: .8rem; white-space: normal; }
    .product-grid .card-tags { display: none; }
    .blog-product-embed { grid-template-columns: 1fr; }
    .blog-product-cover { aspect-ratio: 4/3; }
    .blog-product-copy { padding: 1.2rem; }
    .content-card-grid,.quote-grid { grid-template-columns: 1fr; }
}

/* Blog column setting follows the product-grid responsive reduction. */
@media (max-width: 1100px) {
    .blog-grid[class*="grid-cols-"] { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 820px) {
    .blog-grid[class*="grid-cols-"] { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 560px) {
    .blog-grid[class*="grid-cols-"] { grid-template-columns: 1fr !important; }
}

/* Compact shared navigation: switch before desktop links can overlap. */
@media (max-width: 1320px) {
    body:not(.admin-body) .site-header {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        align-items: center !important;
        height: auto !important;
        min-height: 70px !important;
        padding: .7rem clamp(1rem,3vw,2rem) !important;
        overflow: visible !important;
    }
    body:not(.admin-body) .site-header .brand {
        grid-column: 1 !important;
        grid-row: 1 !important;
        justify-self: start !important;
        min-width: 0;
    }
    body:not(.admin-body) .site-header .header-utilities { display: contents !important; }
    body:not(.admin-body) .site-header .nav-toggle {
        display: inline-flex !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: end !important;
        align-items: center;
        justify-content: center;
    }
    body:not(.admin-body) .site-header .site-nav-center,
    body:not(.admin-body) .site-header .header-tools-menu {
        position: static !important;
        inset: auto !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: var(--primary) !important;
        flex-direction: column !important;
        align-items: stretch !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        overflow: visible !important;
        box-shadow: none !important;
    }
    body:not(.admin-body) .site-header .site-nav-center { grid-row: 2 !important; }
    body:not(.admin-body) .site-header .header-tools-menu { grid-row: 3 !important; }
    body:not(.admin-body) .site-header .site-nav-center:not(.open),
    body:not(.admin-body) .site-header .header-tools-menu:not(.open) { display: none !important; }
    body:not(.admin-body) .site-header .site-nav-center.open,
    body:not(.admin-body) .site-header .header-tools-menu.open { display: flex !important; }
    body:not(.admin-body) .site-header .site-nav-center.open { padding-top: .65rem !important; }
    body:not(.admin-body) .site-header .header-tools-menu.open { padding-bottom: .65rem !important; }
    body:not(.admin-body) .site-header .nav-dropdown,
    body:not(.admin-body) .site-header .nav-dropdown-trigger {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        align-self: auto !important;
    }
    body:not(.admin-body) .site-header .nav-item,
    body:not(.admin-body) .site-header .nav-dropdown-trigger button {
        display: flex !important;
        width: 100% !important;
        min-height: 42px !important;
        height: auto !important;
        padding: .58rem .85rem !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 4px !important;
        font-size: .78rem !important;
        line-height: 1.2 !important;
        text-align: center !important;
        white-space: normal !important;
    }
    body:not(.admin-body) .site-header .nav-submenu {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: .3rem !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }
}

@media (max-width: 480px) {
    body:not(.admin-body) .site-header {
        min-height: 60px !important;
        padding: .55rem .75rem !important;
    }
    body:not(.admin-body) .site-header .brand {
        gap: .5rem !important;
        font-size: 1rem !important;
        line-height: 1.1 !important;
        letter-spacing: -.02em !important;
    }
    body:not(.admin-body) .site-header .brand img,
    body:not(.admin-body) .site-header .brand-mark {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }
    body:not(.admin-body) .site-header .nav-toggle {
        min-height: 38px !important;
        padding: .38rem .7rem !important;
        font-size: .9rem !important;
    }
    body:not(.admin-body) .site-header .nav-item,
    body:not(.admin-body) .site-header .nav-dropdown-trigger button {
        min-height: 38px !important;
        padding: .48rem .65rem !important;
        font-size: .72rem !important;
    }
}

@media (max-width: 700px) {
    body:not(.admin-body) .product-grid,
    body:not(.admin-body) .product-grid.grid-cols-3,
    body:not(.admin-body) .product-grid.grid-cols-4,
    body:not(.admin-body) .product-grid.grid-cols-5,
    body:not(.admin-body) .product-grid.grid-cols-6 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .75rem !important;
    }
}

/* Autumn theme: Plugin Boutique-inspired product cards. */
.theme-autumn .product-grid {
    gap: clamp(1rem, 2.25vw, 2rem) !important;
}
.theme-autumn .product-grid > .product-card {
    overflow: hidden;
    border-radius: 0;
    background: #fffaf1;
    outline: 1px solid #d8d0c3;
    box-shadow: none;
}
.theme-autumn .product-grid .product-art {
    aspect-ratio: 4 / 3 !important;
    background: #e8e2d7;
}
.theme-autumn .product-grid .product-art img {
    object-fit: cover;
}
.theme-autumn .product-grid .product-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .28rem;
    min-height: 112px;
    padding: .85rem .9rem .9rem;
}
.theme-autumn .product-grid .product-meta small {
    grid-column: 1 / -1;
    color: #746d61;
    font-size: .68rem;
    letter-spacing: .08em;
}
.theme-autumn .product-grid .product-meta h3 {
    display: -webkit-box;
    min-width: 0;
    margin: .1rem 0 .25rem;
    overflow: hidden;
    font-size: clamp(.9rem, 1.05vw, 1.12rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    overflow-wrap: normal;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.theme-autumn .product-grid .product-meta strong {
    align-self: start;
    grid-row: auto;
    grid-column: 1;
    padding-top: .2rem;
    color: #191816;
    font-size: clamp(.82rem, .95vw, .98rem);
    white-space: nowrap;
}
.theme-autumn .product-grid .card-tags {
    grid-column: 1 / -1;
    margin-top: .2rem;
}
.theme-autumn .product-grid .card-tags a {
    background: #f4efe4;
    color: #746d61;
    border-color: #ded5c7;
}
.theme-autumn .product-card-audio {
    background: rgba(25,24,22,.82);
}
.theme-autumn .product-card-audio:hover,
.theme-autumn .product-card-audio:focus-visible,
.theme-autumn .product-card-audio.is-playing {
    background: #ff5a3d;
    box-shadow: 0 12px 34px rgba(255,90,61,.28);
}
@media (max-width: 820px) {
    .theme-autumn .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .theme-autumn .product-grid .product-meta {
        min-height: 118px;
        padding: .85rem;
    }
    .theme-autumn .product-grid .product-meta h3 {
        font-size: .95rem;
    }
    .theme-autumn .product-grid .product-meta strong {
        font-size: .85rem;
    }
}
@media (max-width: 560px) {
    .theme-autumn .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .75rem !important;
    }
    .theme-autumn .product-grid > .product-card {
        border-radius: 12px;
    }
    .theme-autumn .product-grid .product-art {
        aspect-ratio: 1 / 1 !important;
    }
    .theme-autumn .product-grid .product-meta {
        min-height: 118px;
        padding: .75rem;
    }
    .theme-autumn .product-grid .product-meta small {
        font-size: .58rem;
        line-height: 1.1;
    }
    .theme-autumn .product-grid .product-meta h3 {
        display: -webkit-box;
        min-height: 2.5em;
        overflow: hidden;
        font-size: .86rem;
        line-height: 1.22;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .theme-autumn .product-grid .product-meta strong {
        padding-top: 0;
        font-size: .8rem;
        white-space: normal;
    }
    .theme-autumn .product-grid .card-tags {
        display: none;
    }
    .theme-autumn .product-card-audio {
        width: 38px;
        height: 38px;
        font-size: .8rem;
    }
}

/* Pink Producer theme: keep the dark/pink visual, but use Autumn's balanced card layout. */
.theme-pink-producer .product-grid {
    gap: clamp(1rem, 2.25vw, 2rem) !important;
}
.theme-pink-producer .product-grid > .product-card {
    overflow: hidden;
    border-radius: 0;
    background: #15151a;
    outline: 1px solid #2a2a32;
    box-shadow: none;
}
.theme-pink-producer .product-grid .product-art {
    aspect-ratio: 4 / 3 !important;
    background: #111116;
}
.theme-pink-producer .product-grid .product-art img {
    object-fit: cover;
}
.theme-pink-producer .product-grid .product-meta {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .28rem;
    min-height: 112px;
    padding: .85rem .9rem .9rem;
}
.theme-pink-producer .product-grid .product-meta small {
    grid-column: 1 / -1;
    color: #a9a9b2;
    font-size: .68rem;
    letter-spacing: .08em;
}
.theme-pink-producer .product-grid .product-meta h3 {
    display: -webkit-box;
    min-width: 0;
    margin: .1rem 0 .25rem;
    overflow: hidden;
    color: #fff;
    font-size: clamp(.9rem, 1.05vw, 1.12rem);
    line-height: 1.12;
    letter-spacing: -.03em;
    overflow-wrap: normal;
    word-break: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.theme-pink-producer .product-grid .product-meta strong {
    align-self: start;
    grid-row: auto;
    grid-column: 1;
    padding-top: .2rem;
    color: #fff;
    font-size: clamp(.82rem, .95vw, .98rem);
    white-space: nowrap;
}
.theme-pink-producer .product-grid .card-tags {
    grid-column: 1 / -1;
    margin-top: .2rem;
}
.theme-pink-producer .product-grid .card-tags a {
    background: #111116;
    color: #a9a9b2;
    border-color: #2a2a32;
}
.theme-pink-producer .product-grid .card-tags a:hover,
.theme-pink-producer .product-grid .card-tags a:focus {
    background: #ff5fa2;
    color: #fff !important;
    border-color: #ff5fa2;
}
.theme-pink-producer .product-card-audio {
    background: rgba(8,8,10,.82);
}
.theme-pink-producer .product-card-audio:hover,
.theme-pink-producer .product-card-audio:focus-visible,
.theme-pink-producer .product-card-audio.is-playing {
    background: #ff5fa2;
    box-shadow: 0 12px 34px rgba(255,95,162,.28);
}
.theme-pink-producer .product-card:hover .product-meta,
.theme-pink-producer .product-card:hover .product-meta small,
.theme-pink-producer .product-card:hover .product-meta h3,
.theme-pink-producer .product-card:hover .product-meta a,
.theme-pink-producer .product-card:hover .product-meta strong {
    color: #fff !important;
}
@media (max-width: 820px) {
    .theme-pink-producer .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .theme-pink-producer .product-grid .product-meta {
        min-height: 118px;
        padding: .85rem;
    }
    .theme-pink-producer .product-grid .product-meta h3 {
        font-size: .95rem;
    }
    .theme-pink-producer .product-grid .product-meta strong {
        font-size: .85rem;
    }
}
@media (max-width: 560px) {
    .theme-pink-producer .product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: .75rem !important;
    }
    .theme-pink-producer .product-grid > .product-card {
        border-radius: 12px;
    }
    .theme-pink-producer .product-grid .product-art {
        aspect-ratio: 1 / 1 !important;
    }
    .theme-pink-producer .product-grid .product-meta {
        min-height: 118px;
        padding: .75rem;
    }
    .theme-pink-producer .product-grid .product-meta small {
        font-size: .58rem;
        line-height: 1.1;
    }
    .theme-pink-producer .product-grid .product-meta h3 {
        display: -webkit-box;
        min-height: 2.5em;
        overflow: hidden;
        font-size: .86rem;
        line-height: 1.22;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }
    .theme-pink-producer .product-grid .product-meta strong {
        padding-top: 0;
        font-size: .8rem;
        white-space: normal;
    }
    .theme-pink-producer .product-grid .card-tags {
        display: none;
    }
    .theme-pink-producer .product-card-audio {
        width: 38px;
        height: 38px;
        font-size: .8rem;
    }
}

/* Shared iPhone storefront compaction. Desktop and tablet remain unchanged. */
@media (max-width: 767px) {
    body:not(.admin-body) .category-strip,
    body.theme-autumn:not(.admin-body) .category-strip,
    body.theme-music-store:not(.admin-body) .category-strip,
    body.theme-artist-page:not(.admin-body) .category-strip {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 11px !important;
        padding: 20px max(16px, env(safe-area-inset-right)) 20px max(16px, env(safe-area-inset-left)) !important;
        border: 0 !important;
    }
    body:not(.admin-body) .category-strip a,
    body.theme-autumn:not(.admin-body) .category-strip a,
    body.theme-music-store:not(.admin-body) .category-strip a,
    body.theme-artist-page:not(.admin-body) .category-strip a {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        grid-template-rows: auto 1fr !important;
        align-content: center !important;
        min-width: 0 !important;
        min-height: 112px !important;
        height: auto !important;
        padding: 16px !important;
        border: 1px solid var(--line) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
    }
    body:not(.admin-body) .category-strip span {
        display: -webkit-box !important;
        min-width: 0 !important;
        overflow: hidden !important;
        font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
        line-height: 1.15 !important;
        overflow-wrap: anywhere !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }
    body:not(.admin-body) .category-strip small {
        display: -webkit-box !important;
        min-width: 0 !important;
        margin-top: .4rem !important;
        overflow: hidden !important;
        font-size: .7rem !important;
        line-height: 1.3 !important;
        overflow-wrap: anywhere !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
    }
    body:not(.admin-body) .category-strip b {
        align-self: center !important;
        margin-left: .5rem !important;
        font-size: 1.55rem !important;
        line-height: 1 !important;
    }

    body:not(.admin-body) .site-footer,
    body.theme-autumn:not(.admin-body) .site-footer,
    body.theme-music-store:not(.admin-body) .site-footer,
    body.theme-artist-page:not(.admin-body) .site-footer {
        display: flex !important;
        min-height: 0 !important;
        padding: 24px max(16px, env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)) !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
    }
    body:not(.admin-body) .site-footer > div:first-of-type,
    body:not(.admin-body) .site-footer .footer-menu,
    body:not(.admin-body) .site-footer .footer-theme-name,
    body:not(.admin-body) .site-footer .footer-theme-switcher {
        display: none !important;
    }
    body:not(.admin-body) .site-footer .socials {
        display: flex !important;
        width: 100% !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 11px !important;
        flex-wrap: wrap !important;
    }
    body:not(.admin-body) .site-footer .social-icon-link {
        width: 42px !important;
        height: 42px !important;
        flex: 0 0 42px !important;
    }
    body:not(.admin-body) .site-footer .social-icon-link svg {
        width: 18px !important;
        height: 18px !important;
    }
    body:not(.admin-body) .site-footer .footer-meta {
        display: flex !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 0 0 !important;
        align-items: center !important;
        justify-content: center !important;
        border-top: 1px solid var(--line) !important;
        font-size: clamp(.8rem, 3.5vw, .92rem) !important;
        line-height: 1.35 !important;
        text-align: center !important;
    }
    body:not(.admin-body) .site-footer .footer-meta > span:first-child {
        display: inline !important;
    }

    body:not(.admin-body) .homepage-section.is-mobile-hidden,
    body.youtube-mobile-disabled:not(.admin-body) .homepage-youtube-section,
    body.cta-mobile-disabled:not(.admin-body) .homepage-cta-section {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

@media (max-width: 359px) {
    body:not(.admin-body) .category-strip,
    body.theme-autumn:not(.admin-body) .category-strip,
    body.theme-music-store:not(.admin-body) .category-strip,
    body.theme-artist-page:not(.admin-body) .category-strip {
        grid-template-columns: 1fr !important;
    }
    body:not(.admin-body) .category-strip a,
    body.theme-autumn:not(.admin-body) .category-strip a,
    body.theme-music-store:not(.admin-body) .category-strip a,
    body.theme-artist-page:not(.admin-body) .category-strip a {
        min-height: 96px !important;
    }
}

/* Shared proportional product-card media and image-overlay tags.
   The media box scales with its grid column while preserving 4:3 without cropping. */
body:not(.admin-body) .product-grid > .product-card {
    width: 100%;
    height: auto;
}
body:not(.admin-body) .product-grid .product-art {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3 !important;
}
body:not(.admin-body) .product-grid .product-art-link {
    width: 100%;
    height: 100%;
}
body:not(.admin-body) .product-grid .product-art img {
    width: 100%;
    height: 100%;
    object-fit: contain !important;
    object-position: center;
}
body:not(.admin-body) .product-grid .product-art > .card-tags {
    position: absolute;
    top: clamp(.45rem,1.2vw,.8rem);
    left: clamp(.45rem,1.2vw,.8rem);
    z-index: 6;
    display: flex !important;
    max-width: calc(100% - 1rem);
    margin: 0;
    gap: clamp(.25rem,.6vw,.4rem);
    flex-wrap: wrap;
}
body:not(.admin-body) .product-grid .product-art > .card-tags a {
    display: inline-flex;
    min-height: 28px;
    padding: clamp(.22rem,.55vw,.35rem) clamp(.45rem,1vw,.7rem);
    align-items: center;
    border: 1px solid rgba(255,255,255,.72);
    border-radius: 999px;
    background: rgba(8,8,10,.72);
    color: #fff !important;
    font-size: clamp(.58rem,.85vw,.72rem);
    line-height: 1;
    box-shadow: 0 5px 16px rgba(0,0,0,.2);
    backdrop-filter: blur(6px);
}
body:not(.admin-body) .product-grid .product-art > .card-tags a:hover,
body:not(.admin-body) .product-grid .product-art > .card-tags a:focus-visible {
    background: var(--theme-hover-1,var(--interactive-hover-bg)) !important;
    border-color: var(--theme-hover-1,var(--interactive-hover-bg)) !important;
    color: #fff !important;
}

/* Keep every product price aligned with the left edge of its product title. */
body:not(.admin-body) .product-grid .product-meta strong {
    width: 100%;
    align-self: start !important;
    justify-self: start !important;
    text-align: left !important;
}

/* Card hover must not activate its image-overlay tags.
   A tag changes color only while that individual tag is hovered or keyboard-focused. */
body:not(.admin-body) .product-grid > .product-card:hover .product-art > .card-tags a:not(:hover):not(:focus-visible),
body:not(.admin-body) .product-grid > .product-card:focus-within .product-art > .card-tags a:not(:hover):not(:focus-visible) {
    background: rgba(8,8,10,.72) !important;
    border-color: rgba(255,255,255,.72) !important;
    color: #fff !important;
}
body:not(.admin-body) .product-grid > .product-card .product-art > .card-tags a:hover,
body:not(.admin-body) .product-grid > .product-card .product-art > .card-tags a:focus-visible {
    background: var(--theme-hover-1,var(--interactive-hover-bg)) !important;
    border-color: var(--theme-hover-1,var(--interactive-hover-bg)) !important;
    color: #fff !important;
}

/* Mobile product-card balance: cap titles at two lines and keep price directly below. */
@media (max-width: 700px) {
    body:not(.admin-body) .product-grid .product-meta {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto auto !important;
        align-content: start !important;
        gap: .12rem !important;
        min-height: 0 !important;
    }
    body:not(.admin-body) .product-grid .product-meta h3 {
        display: -webkit-box !important;
        min-height: 0 !important;
        max-height: 2.2em !important;
        margin: .18rem 0 .1rem !important;
        overflow: hidden !important;
        line-height: 1.1 !important;
        -webkit-box-orient: vertical !important;
        -webkit-line-clamp: 2 !important;
        line-clamp: 2;
    }
    body:not(.admin-body) .product-grid .product-meta strong {
        align-self: start !important;
        justify-self: start !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }
}
