/* T07 Gift guide. Tokens only - no hard-coded colours except SVG art. */
/* shared-fix candidate: .psb h3 outranks .psb-card__title in components.css */
.psb .psb-card__title { font: 700 19px/1.32 var(--font-body); letter-spacing: 0; }

.gift-hero { padding: 36px 0 48px; }
.gift-hero__title { color: var(--ink-900); max-width: 1000px; font-size: clamp(2.5rem, 1.3rem + 4.4vw, 5rem); }
.gift-filters { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.gift-filters .psb-pill { font-size: 13px; padding: 8px 16px; }
.gift-persona[aria-pressed="false"] { background: var(--media-bg, var(--cream-0)); }
.gift-disclosure { padding-block: 24px 0; }

.gift-sec[hidden], .gift-cell[hidden] { display: none; }
.gift-sec.psb-section--flush { padding-top: 48px; }
.gift-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; padding-top: 10px; }
.gift-cell > .psb-grid { grid-template-columns: minmax(0, 1fr) !important; height: 100%; }
.gift-cell .psb-card { height: 100%; }

.gift-quiz__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.psb .gift-quiz p { color: var(--ink-700); }

@media (max-width: 1100px) { .gift-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .gift-grid { grid-template-columns: 1fr; }
    .gift-filters { gap: 10px; }
}

/* mobile: shared .psb-disclosure squeezes the "How we test" link into a narrow column (shared-fix candidate) */
@media (max-width: 600px) {
    .psb-disclosure { display: block; }
    .psb-disclosure::before { margin-right: 8px; }
    .psb-table th, .psb-table td { white-space: nowrap; }
}
