/* Food-pairing pages — substantive long-form layout (build_food_pairing.py) */
.vh,.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
main.fp{max-width:820px;padding-bottom:40px}
main.fp h2{font-size:1.4rem;margin:30px 0 10px}
main.fp .lede{color:var(--muted);margin:0 0 12px}
.byline{color:var(--muted);font-size:.92rem;margin:6px 0 0}
.answer-block .answer-capsule{font-size:1.06rem;line-height:1.6;background:var(--sub);border-left:4px solid var(--wine);border-radius:8px;padding:16px 18px}
.answer-block .rule{margin:12px 0 0;font-size:.98rem}
.pair-matrix{border-collapse:collapse;width:100%;margin:8px 0 4px;font-size:.95rem}
.pair-matrix th,.pair-matrix td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.pair-matrix thead th{background:var(--wine);color:#fff;font-weight:600}
.pair-matrix tbody th{background:var(--sub);font-weight:600;width:24%}
.pair-matrix tbody td:nth-child(2){width:30%;font-weight:500}
.pair-matrix tbody tr:nth-child(even) td{background:rgba(0,0,0,.015)}
.picks{list-style:none;padding:0;margin:8px 0;display:grid;gap:12px}
.pick{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--card)}
.pick-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.pick-name{font-weight:700;font-size:1.04rem}
.pick-grape{color:var(--muted);font-size:.85rem}
.pick-why{margin:6px 0 10px;color:var(--ink);font-size:.95rem;line-height:1.5}
.pick-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.pick .price{font-weight:700;color:var(--wine)}
.pick .buy{font-size:.9rem;font-weight:600;text-decoration:none;color:var(--gold-deep)}
.pick .buy:hover{text-decoration:underline}
.disclosure-mini{font-size:.82rem;color:var(--muted);margin:10px 0 0}
.content p{line-height:1.62;margin:0 0 12px}
.tool-block{background:var(--sub);border-radius:12px;padding:18px 20px;margin:26px 0}
.tool-block h2{margin-top:0}
.reviewed .muted{font-size:.86rem;color:var(--muted)}
.crosslinks{display:flex;flex-wrap:wrap;gap:12px}
.crosslinks a{font-weight:600;text-decoration:none}
.fp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin:8px 0 8px}
.fp-card{display:block;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--card);text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.fp-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.fp-card h3{margin:0 0 6px;font-size:1.1rem}
.fp-card p{margin:0 0 10px;color:var(--muted);font-size:.9rem;line-height:1.45}
.fp-card .go{font-weight:600;color:var(--gold-deep);font-size:.88rem}
@media (max-width:600px){.pair-matrix tbody th,.pair-matrix tbody td:nth-child(2){width:auto}}
