@layer components{.c-filters{display:flex;flex-direction:column;gap:var(--space-3);margin-block:var(--space-6)}.c-filters__group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.c-filters__group+.c-filters__group{padding-block-start:var(--space-3);border-block-start:1px dashed var(--border-subtle)}.c-filters__chip{display:inline-flex;align-items:center;min-block-size:var(--control-height-md);padding-inline:var(--space-4);border:1px solid var(--border-interactive);border-radius:var(--radius-pill);background-color:var(--surface-card);color:var(--text-default);text-decoration:none;font-size:var(--font-size-label);font-weight:var(--font-weight-medium)}.c-filters__chip:hover{background-color:var(--hover-overlay);color:var(--text-strong)}.c-filters__chip[aria-current=true]{background-color:var(--brand-primary);border-color:var(--brand-primary);color:var(--text-on-brand)}@media(forced-colors:active){.c-filters__chip[aria-current=true]{text-decoration:underline;text-decoration-thickness:2px}}}@layer components{.c-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background-color:var(--surface-card);box-shadow:var(--shadow-xs);transition:box-shadow var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}.c-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-default)}.c-card__chip{display:inline-flex;align-items:center;justify-content:center;inline-size:var(--chip-md);block-size:var(--chip-md);border-radius:var(--radius-md);background-color:var(--bg-muted);color:var(--brand-primary-active)}.c-card__meta{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.c-card__cat{font-size:var(--font-size-caption);color:var(--text-subtle)}.c-card__title{font-size:var(--font-size-h4);line-height:var(--line-height-h3)}.c-card__link{color:var(--text-strong);text-decoration:none}.c-card__link:after{content:"";position:absolute;inset:0;border-radius:var(--radius-lg)}.c-card__link:hover{color:var(--text-link)}@supports selector(:has(*)){.c-card__link:focus-visible{outline:none}.c-card:has(.c-card__link:focus-visible){outline:2px solid var(--focus-ring);outline-offset:2px}}.c-card__summary{color:var(--text-muted);font-size:var(--font-size-body-sm)}.c-card__price{margin-block-start:auto;padding-block-start:var(--space-3);border-block-start:1px dashed var(--border-subtle)}[data-theme=dark] .c-card{border-color:var(--border-default)}}@layer components{.c-skeleton__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--container-narrow) / 2),1fr));gap:var(--space-5)}.c-skeleton__card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background-color:var(--surface-card)}.c-skeleton__chip{inline-size:var(--chip-md);block-size:var(--chip-md);border-radius:var(--radius-md);background-color:var(--bg-muted)}.c-skeleton__line{display:block;block-size:var(--space-3);border-radius:var(--radius-xs);background-color:var(--bg-muted);inline-size:100%}.c-skeleton__line--title{inline-size:60%;block-size:var(--space-4)}.c-skeleton__line--short{inline-size:40%}@media(prefers-reduced-motion:no-preference){.c-skeleton__chip,.c-skeleton__line{animation:c-skeleton-pulse var(--duration-slower) var(--ease-standard) infinite alternate}}@keyframes c-skeleton-pulse{0%{opacity:1}to{opacity:.55}}.c-state-notice{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);padding-block:var(--space-10);padding-inline:var(--space-6);text-align:center;color:var(--text-muted);border:1px dashed var(--border-default);border-radius:var(--radius-lg);background-color:var(--bg-subtle)}.c-state-notice__icon{color:var(--text-subtle)}.c-state-notice--error{color:var(--danger);border-color:var(--danger);background-color:var(--danger-bg)}.c-state-notice--error .c-state-notice__icon{color:var(--danger)}.c-state-notice__retry{display:inline-flex;align-items:center;min-block-size:var(--tap-target-min);padding-inline:var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--border-interactive);background-color:var(--surface-card);color:var(--text-link);text-decoration:none;font-weight:var(--font-weight-medium)}.c-state-notice__retry:hover{color:var(--text-link-hover);background-color:var(--bg-muted)}}
