@layer pages {
/* Deals hub (/deals) and holiday page (/deals/black-friday). Prices render in the browser from /data/deals.json
   so an expired check never shows; see assets/js/deals.js. */
.deals { padding-bottom: var(--section-y-tight); }
.deals > section { margin-top: var(--section-y-tight); }
.deals-status { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); align-items: baseline; margin-top: var(--space-5); }
.deals-status-text { color: var(--text-muted); min-width: 0; }
.deals-filters { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: end; margin-bottom: var(--block-gap); }
.deals-filters label { display: grid; gap: var(--space-1); font-size: var(--fs-small); color: var(--text-muted); }
.deals-filters select { min-height: var(--control-md); padding: 0 var(--space-3); border: 1px solid var(--border-strong); border-radius: var(--radius-md); background: var(--card); color: var(--text); font: inherit; }
.deals-grid { display: grid; gap: var(--grid-gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .deals-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .deals-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.deal-card { display: flex; flex-direction: column; gap: var(--space-3); padding: var(--card-pad); }
.deal-card h3 { font-size: var(--fs-title); line-height: var(--lh-title); }
.deal-price { font-size: var(--fs-h3); font-weight: var(--fw-bold); }
.deal-ref, .deal-meta { font-size: var(--fs-small); color: var(--text-muted); }
.deal-actions { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: auto; }
.deals-checks { display: grid; gap: var(--grid-gap); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 768px) { .deals-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.deals-checks li { padding: var(--card-pad); }
.deals-checks strong { display: block; margin-bottom: var(--space-2); }
.deals-prose { max-width: var(--w-prose); }
.deals-prose > * + * { margin-top: var(--space-4); }
.deals-prose ul { padding-left: 1.2em; list-style: disc; }
.deals-prose li + li { margin-top: var(--space-2); }
.deals-phase { margin-top: var(--space-5); }
}
