.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-distinctions { margin: 2rem 0; }
.beer-distinctions h2 { margin: 0 0 1rem; font-size: 1rem; }
.beer-distinctions ul { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.beer-distinctions li > * { display: flex; align-items: center; gap: .75rem; color: inherit; text-decoration: none; }
.beer-distinctions img { flex: none; width: 64px; height: 64px; object-fit: contain; }
.beer-distinctions span { max-width: 20ch; font-size: .85rem; line-height: 1.35; overflow-wrap: normal; }
.beer-distinctions a:hover span { text-decoration: underline; text-underline-offset: .2em; }
.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; }
[data-theme="millesime"] .beer-range.section { padding-block: clamp(40px, 5vw, 72px); }
[data-theme="millesime"] .beer-range h2 { margin-bottom: 2.5rem; }
[data-theme="millesime"] .beer-card a { padding: 1.25rem; background: var(--panel); border: 1px solid transparent; transition: border-color .18s; }
[data-theme="millesime"] .beer-card a:hover,
[data-theme="millesime"] .beer-card a:focus-visible { border-color: var(--rule); }
[data-theme="millesime"] .beer-card h3 { margin-top: 1.25rem; font-size: 1.625rem; }
[data-theme="millesime"] .beer-facts { position: relative; padding: 1.5rem 1.75rem; background: var(--paper); border: 1px solid var(--rule); }
[data-theme="millesime"] .beer-facts dt { font: 500 .6875rem/1.6 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--gold); }
@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; }
}
