/* Browse overview pages: the index and its complete, real-data catalogue. */
body[data-page-kind='browse'] .review-banner { display: none; }
body[data-page-kind='browse'] main { background: var(--ground); }
body[data-page-kind='browse'] .browse-page { width: var(--page-width); margin-inline: auto; padding-block: 56px; padding-inline: 0; }
body[data-page-kind='browse'] .browse-overview-hero { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
body[data-page-kind='browse'] .browse-overview-intro { display: flex; flex-direction: column; gap: 24px; width: 100%; }
body[data-page-kind='browse'] .browse-back-link { display: inline-flex; align-items: center; gap: 2px; min-height: 22px; color: var(--ink); }
body[data-page-kind='browse'] .browse-back-link .ui-icon { width: 16px; height: 16px; }
body[data-page-kind='browse'] .browse-overview-hero h1 { max-width: none; margin: 0; color: var(--ink); font: 400 32px/1.2 var(--serif); font-variation-settings: 'SOFT' 0, 'WONK' 1; }
body[data-page-kind='browse'] .browse-overview-description { margin: 0; color: var(--muted); font: 400 18px/1.5 var(--sans); }
body[data-page-kind='browse'] .browse-overview-index { width: 100%; padding-block: 56px; }
body[data-page-kind='browse'] .browse-overview-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body[data-page-kind='browse'] .browse-overview-tiles-occasions { grid-template-columns: repeat(6, minmax(0, 1fr)); }
body[data-page-kind='browse'] .browse-overview-tiles-occasions .browse-overview-tile:nth-child(-n + 3) { grid-column: span 2; }
body[data-page-kind='browse'] .browse-overview-tiles-occasions .browse-overview-tile:nth-child(n + 4) { grid-column: span 3; }
body[data-page-kind='browse'] .browse-overview-tile { position: relative; display: flex; min-width: 0; height: 230px; padding: 12px 14px; align-items: flex-start; overflow: hidden; background: var(--cream); color: var(--burgundy); }
body[data-page-kind='browse'] .browse-tile-label { position: relative; z-index: 1; max-width: calc(100% - 24px); font: 400 24px/1.2 var(--hand); text-transform: uppercase; }
body[data-page-kind='browse'] .browse-tile-arrow { position: absolute; top: 12px; right: 14px; width: 24px; height: 24px; object-fit: contain; }
body[data-page-kind='browse'] .browse-tile-art { position: absolute; right: 14px; bottom: 12px; display: block; width: 48px; height: 48px; object-fit: contain; object-position: center; }
body[data-page-kind='browse'] .browse-tile-motion { background: transparent; pointer-events: none; }
body[data-page-kind='browse'] .browse-tile-art-discovery { object-fit: initial; }
body[data-page-kind='browse'] .browse-overview-tile:hover .browse-tile-label, body[data-page-kind='browse'] .browse-overview-tile:focus-visible .browse-tile-label { text-decoration: underline; text-underline-offset: 3px; }
body[data-page-kind='browse'] .browse-overview-results { margin-top: 48px; }
body[data-page-kind='browse'] .browse-recipe-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 52px 24px; }
body[data-page-kind='browse'] .browse-recipe-grid > [role='listitem'] { min-width: 0; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact,
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-tags { min-width: 0; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-link { display: flex; height: 535px; min-height: 535px; flex-direction: column; gap: 15px; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-stage { flex: 1 1 0; min-height: 0; margin: 0; padding: 0 0 16px; aspect-ratio: auto; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .food-photo { width: 100%; height: 100%; object-fit: cover; transform: none; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-link:hover .food-photo, body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-link:focus-within .food-photo { transform: none; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact h3 { width: 100%; color: var(--ink); font: 400 20px/1.35 var(--serif); font-variation-settings: 'SOFT' 0, 'WONK' 1; overflow-wrap: anywhere; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .recipe-card-tags { display: flex; flex-wrap: wrap; gap: 4px; padding-top: 12px; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .recipe-card-tag { display: inline-flex; min-height: 34px; align-items: center; padding: 8px 4px; background: var(--paper); font: 400 18px/1 var(--hand); letter-spacing: .055em; text-decoration: underline; text-underline-offset: 4px; text-transform: uppercase; white-space: nowrap; }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-tag-brick { color: var(--brick); }
body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-tag-blue { color: var(--tag-blue); }
body[data-page-kind='browse'] .browse-recipe-grid .photo-pending { height: 100%; background: var(--media); }
body[data-page-kind='browse'] .browse-recipe-grid .photo-pending .occasion-artwork { width: 52%; max-height: 240px; }
body[data-page-kind='browse'] .browse-empty { margin-top: 0; }
@media (max-width: 1000px) {
  body[data-page-kind='browse'] .browse-recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .recipe-card-tag { max-width: 100%; overflow-wrap: anywhere; white-space: normal; }
  body[data-page-kind='browse'] .browse-overview-tile { height: 180px; }
  body[data-page-kind='browse'] .browse-overview-tiles-occasions { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  body[data-page-kind='browse'] .browse-tile-arrow { top: 12px; right: 14px; width: 24px; height: 24px; }
  body[data-page-kind='browse'] .browse-tile-art { right: 14px; bottom: 12px; }
  body[data-page-kind='browse'] .browse-recipe-grid { gap: 24px; }
}
@media (max-width: 700px) {
  body[data-page-kind='browse'] .browse-page { padding-block: 56px; }
  body[data-page-kind='browse'] .browse-overview-hero { gap: 32px; }
  body[data-page-kind='browse'] .browse-overview-hero h1 { font-size: 28px; }
  body[data-page-kind='browse'] .browse-overview-tiles { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  body[data-page-kind='browse'] .browse-overview-tiles-occasions .browse-overview-tile:nth-child(n) { grid-column: auto; }
  body[data-page-kind='browse'] .browse-overview-tile { height: 150px; }
  body[data-page-kind='browse'] .browse-tile-art { right: 14px; bottom: 12px; }
  body[data-page-kind='browse'] .browse-recipe-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact h3 { font-size: 18px; }
}
@media print {
  body[data-page-kind='browse'] .browse-page { width: auto; padding: 16px 0; }
  body[data-page-kind='browse'] .browse-overview-index { display: none; }
  body[data-page-kind='browse'] .browse-overview-results { margin-top: 24px; }
  body[data-page-kind='browse'] .browse-recipe-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-link { height: auto; min-height: 0; }
  body[data-page-kind='browse'] .browse-recipe-grid .recipe-card-compact .photo-stage { aspect-ratio: 1; }
}
