/*
 * 22 Haider Salim — Storefront V2 catalog pages
 * Shared mobile-first presentation for shop, categories, brands, offers,
 * collections, smart search, wall clocks and silver jewellery.
 */

.catalog-page {
    --catalog-inline: clamp(1rem, 4vw, 2rem);
    min-height: 55vh;
    padding-block-end: clamp(2.5rem, 8vw, 5rem);
}

.catalog-container {
    width: min(100%, var(--store-container));
    margin-inline: auto;
    padding-inline: var(--catalog-inline);
}

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.catalog-breadcrumb {
    min-height: 3.2rem;
    display: flex;
    align-items: center;
    gap: .45rem;
    overflow-x: auto;
    color: var(--store-muted);
    font-size: .67rem;
    white-space: nowrap;
    scrollbar-width: none;
}

.catalog-breadcrumb::-webkit-scrollbar { display: none; }
.catalog-breadcrumb a { transition: color .2s ease; }
.catalog-breadcrumb a:hover { color: var(--store-red); }
.catalog-breadcrumb .store-icon { width: .85rem; height: .85rem; }

.catalog-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(1.7rem, 7vw, 4rem) var(--catalog-inline);
    border-block: 1px solid var(--store-line);
    background: var(--store-surface);
}

.catalog-hero::before {
    position: absolute;
    inset-inline-end: -4.5rem;
    inset-block-start: 50%;
    z-index: -1;
    width: 12rem;
    height: 12rem;
    border: 2.2rem solid rgba(223, 29, 46, .08);
    border-radius: 50%;
    content: '';
    transform: translateY(-50%);
}

.catalog-hero--dark {
    border-color: #ddd7cd;
    background: linear-gradient(145deg, #fbfaf7, #f0ece5);
    color: var(--store-ink);
}

.catalog-hero--dark::before { border-color: rgba(149, 52, 57, .08); }

.catalog-hero__inner {
    width: min(100%, var(--store-container));
    margin-inline: auto;
}

.catalog-hero__eyebrow {
    margin: 0 0 .55rem;
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    color: var(--store-red);
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.catalog-hero__eyebrow::before {
    width: 1.65rem;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    content: '';
}

.catalog-hero--dark .catalog-hero__eyebrow { color: var(--store-red-dark); }

.catalog-hero h1 {
    max-width: 18ch;
    margin: 0;
    color: var(--store-black);
    font-size: clamp(1.65rem, 7vw, 3.7rem);
    font-weight: 900;
    line-height: 1.25;
    letter-spacing: -.055em;
}

.catalog-hero--dark h1 { color: var(--store-ink); }

.catalog-hero__copy {
    max-width: 42rem;
    margin: .65rem 0 0;
    color: var(--store-muted);
    font-size: clamp(.72rem, 2.7vw, .9rem);
    line-height: 1.9;
}

.catalog-hero--dark .catalog-hero__copy { color: var(--store-muted); }

.catalog-hero__meta {
    margin-top: 1rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    flex-wrap: wrap;
}

.catalog-stat {
    min-height: 2.35rem;
    padding: .5rem .8rem;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    border: 1px solid var(--store-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .76);
    color: var(--store-ink);
    font-size: .65rem;
    font-weight: 700;
}

.catalog-hero--dark .catalog-stat {
    border-color: #ddd7cd;
    background: rgba(255, 255, 255, .82);
    color: var(--store-ink);
}

.catalog-stat .store-icon { width: 1rem; height: 1rem; color: var(--store-red); }

.catalog-section { padding-block-start: clamp(1.25rem, 4vw, 2.4rem); }
.catalog-section--flush { padding-block-start: .8rem; }

.catalog-section-head {
    margin-bottom: 1rem;
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
}

.catalog-section-head h2 {
    margin: 0;
    color: var(--store-black);
    font-size: clamp(1.05rem, 4vw, 1.55rem);
    font-weight: 850;
    line-height: 1.35;
    letter-spacing: -.035em;
}

.catalog-section-head p,
.catalog-section-head span {
    margin: .25rem 0 0;
    color: var(--store-muted);
    font-size: .67rem;
}

.catalog-toolbar {
    margin-block: 1rem;
    padding: .7rem;
    display: grid;
    gap: .65rem;
    border: 1px solid var(--store-line);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: var(--store-shadow-sm);
}

.catalog-filter-disclosure { min-width: 0; }
.catalog-filter-disclosure > summary {
    display: none;
    list-style: none;
}
.catalog-filter-disclosure > summary::-webkit-details-marker { display: none; }
.catalog-filter-disclosure > .catalog-filter-content {
    min-width: 0;
    display: grid !important;
    gap: .65rem;
}
.catalog-filter-disclosure__title,
.catalog-filter-disclosure__state {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: .65rem;
}
.catalog-filter-disclosure__title > span { min-width: 0; display: grid; }
.catalog-filter-disclosure__title strong { color: var(--store-ink); font-size: .73rem; }
.catalog-filter-disclosure__title small { color: var(--store-muted); font-size: .56rem; font-weight: 550; }
.catalog-filter-disclosure__state small { color: var(--store-red-dark); font-size: .56rem; font-weight: 750; white-space: nowrap; }
.catalog-filter-disclosure__title > .store-icon,
.catalog-filter-disclosure__state > .store-icon { width: 1.05rem; height: 1.05rem; }

.catalog-filter-stack {
    min-width: 0;
    display: grid;
    gap: .7rem;
}

.catalog-filter-group { min-width: 0; }

.catalog-filter-label {
    margin: 0 0 .38rem;
    padding-inline: .2rem;
    display: block;
    color: var(--store-muted);
    font-size: .58rem;
    font-weight: 750;
}

.catalog-filter-row {
    display: flex;
    align-items: center;
    gap: .5rem;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.catalog-filter-row::-webkit-scrollbar { display: none; }

.catalog-chip {
    min-height: 2.75rem;
    padding: .55rem .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
    flex: 0 0 auto;
    scroll-snap-align: start;
    border: 1px solid var(--store-line);
    border-radius: 999px;
    background: #fff;
    color: #4e4c48;
    font-size: .69rem;
    font-weight: 700;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}

.catalog-chip:hover { border-color: #aaa7a0; color: var(--store-black); }
.catalog-chip:active { transform: scale(.97); }
.catalog-chip.is-active,
.catalog-chip.active {
    border-color: #bdb6ac;
    background: #eeeae3;
    color: var(--store-ink);
}

.catalog-chip--red.is-active,
.catalog-chip--red.active { border-color: #ddc1c3; background: var(--store-red-soft); color: var(--store-red-dark); }
.catalog-chip small { color: inherit; font-size: .58rem; opacity: .68; }
.catalog-chip .store-icon { width: .95rem; height: .95rem; }

.catalog-toolbar__controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
}

.catalog-count { color: var(--store-muted); font-size: .67rem; white-space: nowrap; }

.catalog-select {
    min-height: 2.75rem;
    max-width: 11.5rem;
    padding: .55rem .8rem;
    border: 1px solid var(--store-line);
    border-radius: .85rem;
    background: #fff;
    color: var(--store-ink);
    font-size: .69rem;
    font-weight: 700;
    outline: 0;
    cursor: pointer;
}

.catalog-select:focus { border-color: var(--store-black); box-shadow: 0 0 0 3px rgba(7, 7, 7, .07); }

.catalog-dropdown { position: relative; }
.catalog-dropdown__button { width: 100%; }
.catalog-dropdown__panel {
    position: absolute;
    inset-block-start: calc(100% + .4rem);
    inset-inline-start: 0;
    z-index: 80;
    width: min(18rem, calc(100vw - 2rem));
    max-height: 19rem;
    padding: .4rem;
    overflow-y: auto;
    visibility: hidden;
    border: 1px solid var(--store-line);
    border-radius: 1rem;
    background: #fff;
    box-shadow: var(--store-shadow-md);
    opacity: 0;
    transform: translateY(-.35rem);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.catalog-dropdown.is-open .catalog-dropdown__panel {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.catalog-dropdown__panel a {
    padding: .7rem .75rem;
    display: block;
    border-radius: .7rem;
    color: var(--store-muted);
    font-size: .7rem;
    font-weight: 650;
}

.catalog-dropdown__panel a:hover,
.catalog-dropdown__panel a.is-active { background: var(--store-red-soft); color: var(--store-red); }

.catalog-active-filters { margin-bottom: .8rem; display: flex; gap: .45rem; flex-wrap: wrap; }
.catalog-filter-tag {
    min-height: 2rem;
    padding: .35rem .65rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border-radius: 999px;
    background: var(--store-red-soft);
    color: var(--store-red-dark);
    font-size: .62rem;
    font-weight: 750;
}
.catalog-filter-tag a { font-size: 1rem; line-height: 1; }

.catalog-search-note {
    margin-block: .85rem;
    padding: .85rem 1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    border: 1px solid #f3c2c7;
    border-radius: 1rem;
    background: var(--store-red-soft);
    color: #5c2026;
    font-size: .7rem;
}
.catalog-search-note strong { color: var(--store-red-dark); }
.catalog-search-note a { color: var(--store-red); font-weight: 800; }

.catalog-products { margin-top: 1rem; }
.catalog-products .pgrid { padding-inline: 0; }

.catalog-pagination {
    margin-top: 1.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    flex-wrap: wrap;
}

.catalog-pagination a,
.catalog-pagination span {
    min-width: 2.75rem;
    height: 2.75rem;
    padding-inline: .65rem;
    display: inline-grid;
    place-items: center;
    border: 1px solid var(--store-line);
    border-radius: .8rem;
    background: #fff;
    color: var(--store-ink);
    font-size: .7rem;
    font-weight: 750;
}

.catalog-pagination a:hover { border-color: var(--store-black); }
.catalog-pagination .is-current { border-color: #bdb6ac; background: #eeeae3; color: var(--store-ink); }
.catalog-pagination .is-dots { min-width: 1rem; padding: 0; border: 0; background: transparent; color: var(--store-muted); }

.catalog-empty {
    min-height: 22rem;
    padding: 3rem 1rem;
    display: grid;
    place-items: center;
    align-content: center;
    text-align: center;
}
.catalog-empty__icon {
    width: 4.4rem;
    height: 4.4rem;
    margin-bottom: 1rem;
    display: grid;
    place-items: center;
    border: 1px solid var(--store-line);
    border-radius: 1.35rem;
    background: #fff;
    color: var(--store-red);
}
.catalog-empty__icon .store-icon { width: 1.8rem; height: 1.8rem; }
.catalog-empty h2 { margin: 0; font-size: 1.1rem; }
.catalog-empty p { max-width: 25rem; margin: .45rem 0 1.1rem; color: var(--store-muted); font-size: .72rem; }

/* Brand index and brand collections */
.brand-index-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.brand-index-card {
    position: relative;
    min-width: 0;
    min-height: 9.5rem;
    padding: 1rem;
    display: grid;
    place-items: center;
    align-content: center;
    gap: .75rem;
    overflow: hidden;
    border: 1px solid var(--store-line);
    border-radius: 1.25rem;
    background: #fff;
    text-align: center;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.brand-index-card:hover { border-color: #aaa7a0; box-shadow: var(--store-shadow-md); transform: translateY(-3px); }
.brand-index-card__logo { width: 6.2rem; height: 3.7rem; display: grid; place-items: center; }
.brand-index-card__logo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.brand-index-card__fallback { max-width: 100%; color: var(--store-black); font-size: .82rem; font-weight: 900; line-height: 1.35; overflow-wrap: anywhere; }
.brand-index-card__count { display: block; margin-top: .15rem; color: var(--store-muted); font-size: .6rem; }
.brand-index-card__flag {
    position: absolute;
    inset-block-start: .55rem;
    inset-inline-start: .55rem;
    padding: .25rem .48rem;
    border-radius: .5rem;
    background: var(--store-red);
    color: #fff;
    font-size: .5rem;
    font-weight: 800;
}

.brand-profile {
    padding: 1rem;
    display: grid;
    grid-template-columns: 4.5rem minmax(0, 1fr);
    align-items: center;
    gap: 1rem;
    border: 1px solid var(--store-line);
    border-radius: 1.4rem;
    background: #fff;
}
.brand-profile__logo {
    width: 4.5rem;
    height: 4.5rem;
    padding: .55rem;
    display: grid;
    place-items: center;
    border-radius: 1rem;
    background: var(--store-surface-2);
}
.brand-profile__logo img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.brand-profile__logo span { font-size: 1rem; font-weight: 900; }
.brand-profile h1 { margin: 0; font-size: clamp(1.25rem, 5vw, 2rem); line-height: 1.35; }
.brand-profile p { margin: .3rem 0 0; color: var(--store-muted); font-size: .68rem; }
.brand-profile__meta { margin-top: .5rem; display: flex; gap: .55rem; flex-wrap: wrap; }
.brand-profile__meta span { color: var(--store-muted); font-size: .6rem; }

.collection-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.collection-card {
    overflow: hidden;
    border: 1px solid var(--store-line);
    border-radius: 1.25rem;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.collection-card:hover { border-color: #aaa7a0; box-shadow: var(--store-shadow-md); transform: translateY(-3px); }
.collection-card__media { aspect-ratio: 4 / 3; padding: .55rem; background: var(--store-surface-2); }
.collection-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.collection-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; color: #aaa7a0; }
.collection-card__placeholder .store-icon { width: 2rem; height: 2rem; }
.collection-card__body { padding: .75rem; }
.collection-card strong { display: block; overflow: hidden; font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.collection-card small { color: var(--store-muted); font-size: .58rem; }

.catalog-back-row { margin-block: .8rem; display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.catalog-back-row strong { font-size: .95rem; }

/* Offer index */
.offer-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.offer-category-card {
    min-height: 7.5rem;
    padding: 1rem;
    display: grid;
    align-content: end;
    border: 1px solid var(--store-line);
    border-radius: 1.3rem;
    background: #fff;
    transition: border-color .2s ease, background .2s ease, color .2s ease, transform .2s ease;
}
.offer-category-card strong { font-size: .88rem; }
.offer-category-card small { margin-top: .25rem; color: var(--store-muted); font-size: .58rem; }
.offer-category-card:hover { border-color: var(--store-red); transform: translateY(-2px); }
.offer-category-card.is-active { border-color: #ddc1c3; background: var(--store-red-soft); color: var(--store-red-dark); }
.offer-category-card.is-active small { color: var(--store-muted); }

/* Smart search */
.ai-search-panel {
    margin-top: 1rem;
    padding: .8rem;
    display: grid;
    gap: .75rem;
    border: 1px solid #ddd7cd;
    border-radius: 1.25rem;
    background: #f4f1eb;
}
.ai-search-field { position: relative; }
.ai-search-field .store-icon {
    position: absolute;
    inset-inline-start: 1rem;
    inset-block-start: 50%;
    width: 1.15rem;
    height: 1.15rem;
    color: var(--store-red);
    transform: translateY(-50%);
}
.ai-search-field input {
    width: 100%;
    min-height: 3.65rem;
    padding: .85rem 3rem .85rem 1rem;
    border: 1px solid #d7d1c7;
    border-radius: 1rem;
    background: #fff;
    color: var(--store-ink);
    font-size: .82rem;
    font-weight: 650;
    outline: 0;
}
[dir='ltr'] .ai-search-field input { padding: .85rem 1rem .85rem 3rem; }
.ai-search-field input:focus { border-color: #b8aea2; box-shadow: 0 0 0 3px rgba(86, 75, 66, .07); }
.ai-search-suggestions { display: flex; gap: .45rem; overflow-x: auto; scrollbar-width: none; }
.ai-search-suggestions::-webkit-scrollbar { display: none; }
.ai-search-suggestions button {
    min-height: 2.75rem;
    padding: .45rem .75rem;
    flex: 0 0 auto;
    border: 1px solid #d7d1c7;
    border-radius: 999px;
    background: #fff;
    color: var(--store-muted);
    font-size: .62rem;
    font-weight: 650;
    cursor: pointer;
}
.ai-search-suggestions button:hover { border-color: #cdb5b7; background: var(--store-red-soft); color: var(--store-red-dark); }
.ai-understood { min-height: 0; margin-top: .9rem; display: flex; gap: .4rem; flex-wrap: wrap; }
.ai-understood span { padding: .38rem .65rem; border-radius: 999px; background: var(--store-red-soft); color: var(--store-red-dark); font-size: .61rem; font-weight: 750; }
.ai-status { min-height: 3.1rem; padding-block: .9rem; color: var(--store-muted); font-size: .7rem; text-align: center; }
.ai-spinner { width: 1rem; height: 1rem; display: inline-block; vertical-align: middle; border: 2px solid var(--store-line); border-block-start-color: var(--store-red); border-radius: 50%; animation: catalog-spin .65s linear infinite; }
@keyframes catalog-spin { to { transform: rotate(1turn); } }

.ai-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.ai-result-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--store-line);
    border-radius: 1.3rem;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.ai-result-card:hover { border-color: #aaa7a0; box-shadow: var(--store-shadow-md); transform: translateY(-3px); }
.ai-result-card__media { position: relative; aspect-ratio: 1; padding: .65rem; display: grid; place-items: center; background: var(--store-surface-2); }
.ai-result-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.ai-result-card__placeholder { color: #aaa7a0; font-size: 2rem; }
.ai-result-card__badge { position: absolute; inset-block-start: .55rem; inset-inline-start: .55rem; padding: .25rem .48rem; border: 1px solid #ddc1c3; border-radius: 99px; background: var(--store-red-soft); color: var(--store-red-dark); font-size: .52rem; font-weight: 800; }
.ai-result-card__body { padding: .75rem; }
.ai-result-card__brand { display: block; overflow: hidden; color: var(--store-red); font-size: .56rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.ai-result-card h2 { min-height: 2.55rem; margin: .2rem 0 .35rem; overflow: hidden; font-size: .72rem; line-height: 1.7; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ai-result-card__price { font-size: .82rem; font-weight: 850; }
.ai-result-card__price small { color: var(--store-muted); font-size: .55rem; }
.ai-result-card__old { margin-inline-start: .35rem; color: #999; font-size: .6rem; text-decoration: line-through; }

/* Wall-clock catalogue */
.wall-slider {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 10;
    border-radius: 1.4rem;
    background: #e9e5dd;
}
.wall-slide { position: absolute; inset: 0; visibility: hidden; opacity: 0; transition: opacity .45s ease, visibility .45s ease; }
.wall-slide.is-active { visibility: visible; opacity: 1; }
.wall-slide img { width: 100%; height: 100%; object-fit: cover; }
.wall-slide::after { position: absolute; inset: 30% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.82)); content: ''; }
.wall-slide__copy { position: absolute; inset-inline: 1rem; inset-block-end: 1rem; z-index: 1; color: #fff; }
.wall-slide__copy h3 { margin: 0 0 .5rem; font-size: clamp(1rem, 4vw, 1.45rem); }
.wall-slide__copy a { color: #fff; font-size: .65rem; font-weight: 750; }
.wall-slider-dots {
    max-width: 100%;
    margin-top: .35rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
    overflow-x: auto;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
}
.wall-slider-dots::-webkit-scrollbar { display: none; }
.wall-slider-dots button {
    position: relative;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
    display: grid;
    place-items: center;
    flex: 0 0 2.75rem;
    border: 0;
    background: transparent;
    cursor: pointer;
}
.wall-slider-dots button:first-child { margin-inline-start: auto; }
.wall-slider-dots button:last-child { margin-inline-end: auto; }
.wall-slider-dots button::before {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: #c3c1bc;
    content: '';
}
.wall-slider-dots button.is-active::before { width: 1.45rem; border-radius: 99px; background: var(--store-red); }
.wall-clock-item[hidden] { display: none !important; }
.wall-clock-item,
.wall-clock-item > .pc { min-width: 0; height: 100%; }

/* Silver jewellery */
.silver-note {
    padding: 1rem;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .85rem;
    border: 1px solid var(--store-line);
    border-inline-start: 4px solid var(--store-red);
    border-radius: 1.15rem;
    background: #fff;
}
.silver-note__icon { width: 2.55rem; height: 2.55rem; display: grid; place-items: center; border-radius: .8rem; background: var(--store-red-soft); color: var(--store-red); }
.silver-note__icon .store-icon { width: 1.2rem; height: 1.2rem; }
.silver-note h2 { margin: 0; font-size: .82rem; }
.silver-note p { margin: .25rem 0 0; color: var(--store-muted); font-size: .66rem; line-height: 1.85; }

.silver-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .7rem;
}
.silver-category-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--store-line);
    border-radius: 1.25rem;
    background: #fff;
}
.silver-category-card__media { aspect-ratio: 4 / 3; padding: .55rem; background: var(--store-surface-2); }
.silver-category-card__media img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.silver-category-card__body { padding: .75rem; }
.silver-category-card strong { display: block; overflow: hidden; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.silver-category-card small { color: var(--store-muted); font-size: .57rem; }

@media (max-width: 420px) {
    .catalog-toolbar__controls { align-items: stretch; flex-direction: column; }
    .catalog-select { width: 100%; max-width: none; }
    .catalog-count { padding-inline: .25rem; }
}

@media (max-width: 699px) {
    .catalog-toolbar { padding: .55rem; }
    .catalog-filter-disclosure > summary {
        min-height: 3.55rem;
        padding: .65rem .7rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .7rem;
        border: 1px solid var(--store-line);
        border-radius: 1rem;
        background: #fffdfa;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }
    .catalog-filter-disclosure:not([open]) > .catalog-filter-content { display: none !important; }
    .catalog-filter-disclosure[open] > .catalog-filter-content {
        margin-top: .65rem;
        padding: .15rem;
        display: grid !important;
    }
    .catalog-filter-disclosure__state > .store-icon { transition: transform .2s ease; }
    .catalog-filter-disclosure[open] .catalog-filter-disclosure__state > .store-icon { transform: rotate(-90deg); }
    .catalog-filter-row { margin-top: 0 !important; padding-block: .1rem; }
    .catalog-filter-row + .catalog-filter-row { margin-top: .5rem !important; }
}

@media (min-width: 700px) {
    .catalog-toolbar { padding: .85rem; }
    .brand-index-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .collection-grid,
    .offer-category-grid,
    .silver-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .ai-results-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
    .wall-slider { aspect-ratio: 21 / 9; }
    .brand-profile { grid-template-columns: 6rem minmax(0, 1fr); padding: 1.35rem; }
    .brand-profile__logo { width: 6rem; height: 6rem; }
}

@media (min-width: 960px) {
    .catalog-toolbar { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .catalog-filter-disclosure > .catalog-filter-content { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .catalog-toolbar__controls { justify-content: end; }
    .brand-index-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .collection-grid,
    .offer-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .silver-category-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .ai-results-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }
}

@media (hover: none) {
    .brand-index-card:hover,
    .collection-card:hover,
    .ai-result-card:hover,
    .offer-category-card:hover { transform: none; box-shadow: none; }
}

@media (prefers-reduced-motion: reduce) {
    .ai-spinner { animation-duration: 1.2s !important; }
}
