/* Shop archive (modules/shop). Dark section under the page hero; cards are the shared .aob-products__card. */
:not(#_) .aob-shop { background: var(--aob-black-3); color: var(--aob-light-1); font-family: var(--aob-font-body); }
:not(#_) .aob-shop > .aob-container { display: flex; flex-direction: column; gap: 32px; }

/* Toolbar: category chips (scroll sideways on phones) + count + sort. */
:not(#_) .aob-shop__toolbar { display: flex; flex-direction: column; gap: 20px; }
:not(#_) .aob-shop__chips { display: flex; gap: 10px; margin-inline: -1rem; padding: 2px 1rem; overflow-x: auto; scrollbar-width: none; }
:not(#_) .aob-shop__chips::-webkit-scrollbar { display: none; }
:not(#_) .aob-shop__chip { flex: none; padding: 10px 18px; border: 1px solid var(--aob-glass-border); border-radius: var(--aob-radius-pill); background: rgba(255, 255, 255, 0.04); font-size: 16px; line-height: 1.2; color: var(--aob-light-3); text-decoration: none; white-space: nowrap; transition: background-color 0.25s, border-color 0.25s, color 0.25s; }
@media (hover: hover) { :not(#_) .aob-shop__chip:hover { border-color: var(--aob-gold-border); color: var(--aob-white); } }
:not(#_) .aob-shop__chip.aob-is-active { border-color: var(--aob-brand); background: var(--aob-brand); color: #fff; box-shadow: var(--aob-shadow-button-secondary); }
:not(#_) .aob-shop__chip:focus-visible, :not(#_) .aob-shop__select:focus-visible { outline: 2px solid var(--aob-white); outline-offset: 3px; }

:not(#_) .aob-shop__tools { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid var(--aob-glass-border); }
:not(#_) .aob-shop__count { margin: 0; font-size: 16px; color: var(--aob-light-3); }
:not(#_) .aob-shop__sort { display: flex; align-items: center; gap: 12px; margin: 0; }
:not(#_) .aob-shop__sort-label { font-size: 14px; color: var(--aob-light-3); }
:not(#_) .aob-shop__select { min-width: 190px; padding: 10px 40px 10px 16px; border: 1px solid var(--aob-gold-border); border-radius: 8px; background: var(--aob-black-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23c88a4a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center; color: var(--aob-white); font: inherit; font-size: 16px; appearance: none; cursor: pointer; }
:not(#_) .aob-shop__sort-go { padding: 10px 14px; border: 1px solid var(--aob-gold-border); border-radius: 8px; background: none; color: var(--aob-white); font: inherit; }
@media (min-width: 768px) { :not(#_) .aob-shop__chips { margin-inline: -2rem; padding-inline: 2rem; } }
@media (min-width: 900px) {
	:not(#_) .aob-shop__toolbar { flex-direction: row; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
	:not(#_) .aob-shop__chips { margin-inline: 0; padding-inline: 0; flex-wrap: wrap; overflow: visible; }
	:not(#_) .aob-shop__tools { width: 100%; }
}
@media (max-width: 480px) { :not(#_) .aob-shop__sort-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } :not(#_) .aob-shop__select { min-width: 0; } }

/* Grid: 2 columns from phones up (the usual shop pattern), then 3 / 4 (4 × 295 px = Figma). Narrow cells get a compact card. */
:not(#_) .aob-shop__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 640px) { :not(#_) .aob-shop__grid { gap: 20px; } }
@media (min-width: 900px) { :not(#_) .aob-shop__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1240px) { :not(#_) .aob-shop__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
:not(#_) .aob-shop__cell { display: flex; min-width: 0; margin: 0; container-type: inline-size; }
@container (max-width: 250px) {
	:not(#_) .aob-products__media { height: 150px; padding: 12px 12px 4px; }
	:not(#_) .aob-products__body { gap: 14px; padding: 12px; }
	:not(#_) .aob-products__cat { font-size: 11px; line-height: 15px; letter-spacing: 0.04em; }
	:not(#_) .aob-products__name { font-size: 20px; }
	:not(#_) .aob-products__dims { font-size: 13px; line-height: 18px; }
	:not(#_) .aob-products__price { font-size: 18px; line-height: 24px; }
	:not(#_) .aob-products__link { padding: 10px 12px; font-size: 15px; gap: 6px; }
}

/* Pagination (paginate_links type=list). */
:not(#_) .aob-shop__pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
:not(#_) .aob-shop__pagination a.page-numbers, :not(#_) .aob-shop__pagination span.page-numbers { display: flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; box-sizing: border-box; padding: 0 12px; border: 1px solid var(--aob-glass-border); border-radius: 8px; background: rgba(255, 255, 255, 0.04); font-size: 16px; color: var(--aob-light-1); text-decoration: none; transition: border-color 0.25s, background-color 0.25s; }
@media (hover: hover) { :not(#_) .aob-shop__pagination a.page-numbers:hover { border-color: var(--aob-gold-border); } }
:not(#_) .aob-shop__pagination span.page-numbers.current { border-color: var(--aob-brand); background: var(--aob-brand); color: #fff; }
:not(#_) .aob-shop__pagination span.page-numbers.dots { border-color: transparent; background: none; }
:not(#_) .aob-shop__pagination a.page-numbers:focus-visible { outline: 2px solid var(--aob-white); outline-offset: 3px; }

/* Empty state + bottom CTA. */
:not(#_) .aob-shop__empty, :not(#_) .aob-shop__help { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 48px 24px; border: 1px solid var(--aob-glass-border); border-radius: 16px; background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.05)); text-align: center; }
:not(#_) .aob-shop__help { margin-top: 24px; }
:not(#_) .aob-shop__empty-title, :not(#_) .aob-shop__help-title { margin: 0; font-family: var(--aob-font-display); font-size: clamp(30px, 4vw, 44px); font-weight: 400; line-height: 1.15; color: var(--aob-white); }
:not(#_) .aob-shop__empty-text, :not(#_) .aob-shop__help-text { max-width: 560px; margin: 0; font-size: 18px; line-height: 1.4; color: var(--aob-light-3); }
