.beer-ranges { padding-bottom: 3rem; }
.beer-range h2 { margin-bottom: 2rem; }
.beer-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem 2rem; }
.beer-card { min-width: 0; }
.beer-card a { display: block; color: inherit; text-decoration: none; }
.beer-card img, .beer-label img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: contain; }
.beer-card h3 { margin: 1rem 0 .5rem; font: 400 1.8rem/1.15 var(--serif); overflow-wrap: anywhere; }
.beer-card a:hover h3 { text-decoration: underline; text-underline-offset: .2em; }
.beer-card p { margin: .5rem 0; }
.beer-availability { color: var(--muted); white-space: pre-line; }
.beer-sheet { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.beer-label { margin: 0; }
.beer-label figcaption { margin-top: .75rem; color: var(--muted); font-size: .8rem; }
.beer-copy { min-width: 0; overflow-wrap: anywhere; }
.beer-description { margin-top: 0; }
.beer-facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem 1.5rem; margin: 2rem 0; }
.beer-facts dt { font-weight: 600; }
.beer-facts dd { margin: 0; }
.beer-sheet:not(:has(.beer-label)) { grid-template-columns: minmax(0, 1fr); }
[data-theme="editorial"] .beer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
[data-theme="editorial"] .beer-card { padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
[data-theme="cinematic"] .beer-range { max-width: none; }
[data-theme="cinematic"] .beer-range h2 { font-size: clamp(2.5rem, 6vw, 6rem); }
[data-theme="cinematic"] .beer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; }
[data-theme="cinematic"] .beer-card h3 { font-size: clamp(2rem, 3vw, 3rem); }
[data-theme="terroir"] .beer-card { background: var(--panel, #e8e9dc); padding: 1.5rem; border-radius: 1rem; }
[data-theme="terroir"] .beer-label img { border-radius: 1rem; }
@media (max-width: 700px) {
  .beer-grid, [data-theme="editorial"] .beer-grid, [data-theme="cinematic"] .beer-grid { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .beer-sheet { grid-template-columns: minmax(0, 1fr); }
  .beer-facts { gap: .75rem; }
}
@media print {
  .beer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .beer-card, .beer-label, .beer-facts { break-inside: avoid; }
}
