/* The gift-season pages (site/gifts.mjs), on top of pages.css. Every value is design.css's. */

.gift-head { max-width: var(--width-read); }
.gift-head .note { color: var(--muted); margin-top: 12px; }
.gift h2 { margin-top: 56px; }

.gift-spread {
  display: grid; grid-template-columns: 1fr 1fr; margin: 40px 0 0;
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-20);
  overflow: hidden; box-shadow: var(--shadow-book);
}
.gift-spread .pic img { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; }
.gift-spread .words { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 32px 40px; }
.gift-spread .words b { font: 400 var(--text-30)/1.1 var(--display); }
.gift-spread .words p { font: 400 var(--text-22)/1.35 var(--display); margin: 0; }
.gift-spread figcaption {
  grid-column: 1 / -1; padding: 12px 20px; border-top: 1px solid var(--line);
  font-size: var(--text-13); color: var(--muted);
}

.gift-steps { list-style: none; padding: 0; display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.gift-steps li { display: flex; gap: 14px; margin: 0; padding: 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-20); }
.gift-steps .n {
  flex: none; display: grid; place-items: center; width: 36px; height: 36px;
  border-radius: var(--radius-pill); background: var(--accent-tint); color: var(--accent-dark); font-weight: 700;
}
.gift-steps p { margin: 0 0 8px; font-size: var(--text-14); }
.gift-steps small { font-size: var(--text-12); font-weight: 600; color: var(--accent-dark); }

.gift-prices { list-style: none; padding: 0; max-width: var(--width-read); }
.gift-prices li { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 12px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
.gift-prices li > :last-child { text-align: right; font-weight: 700; }
.gift-prices span { color: var(--muted); }
.gift-prices li > :last-child, .gift-prices [data-pack] { color: var(--ink); }

.gift-faq { max-width: var(--width-read); }
.gift-faq details { border-bottom: 1px solid var(--line); padding: 16px 0; }
.gift-faq summary { cursor: pointer; font-weight: 600; }
.gift-faq details p { margin: 10px 0 0; color: var(--muted); }

@media (max-width: 720px) {
  .gift-spread { grid-template-columns: 1fr; }
  .gift-spread .words { padding: 24px; }
  .gift-spread .words b { font-size: var(--text-22); }
  .gift-spread .words p { font-size: var(--text-18); }
}
