/* Seasonal landing pages (/black-friday, /christmas-gifts). Builds on app.css: same tokens, type scale and .welcome hero. */
.lp-top { max-width: 1080px; margin: 0 auto; padding: 20px 24px 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.lp .welcome { min-height: 0; padding-top: 8px; align-items: start; }
.lp .welcome h1 { margin-top: 20px; }
.lp-section { max-width: 1080px; margin: 0 auto; padding: 0 24px 56px; }
.lp-section h2 { font-size: 22px; margin: 0 0 6px; }
.lp-section > .sub { margin-bottom: 18px; max-width: 40em; }
.offer { padding: 20px 22px; display: grid; gap: 12px; border-color: var(--accent-line-strong); }
.offer .k { font-size: 13px; font-weight: 600; color: var(--accent-text); }
.offer .big { font-size: 26px; font-weight: 700; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.offer .code { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: 8px; border: 1px dashed var(--accent); font-weight: 700; letter-spacing: 0.06em; color: var(--text); }
.offer .actions { display: flex; gap: 10px; flex-wrap: wrap; }
.offer .actions .btn { flex: 1 1 200px; }
.gift-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 860px) { .gift-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .gift-grid { grid-template-columns: 1fr; } }
.gift { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; min-height: 64px; color: var(--text); }
.gift:hover { border-color: var(--accent); }
.gift .n { font-weight: 600; min-width: 0; }
.gift .go { font-size: 13px; font-weight: 600; color: var(--accent-text); white-space: nowrap; }
.faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
@media (max-width: 760px) { .faq { grid-template-columns: 1fr; } }
.faq .qa { padding: 16px 18px; }
.faq h3 { font-size: 15px; font-weight: 600; margin: 0; }
.faq p { color: var(--secondary); margin: 6px 0 0; }
.lp-foot { max-width: 1080px; margin: 0 auto; padding: 0 24px 48px; }
.lp .example { display: grid; gap: 16px; align-content: start; }
.lp .example .legal { margin: 0; }
.lp-offer .offer { box-shadow: 0 24px 60px var(--shadow); }
