/* Recommendations page styles — minimal, warm, gallery-like; extends base.css without duplication */
.page-hero {
  position: relative;
  min-height: 46vh;
  display: grid;
  align-items: center;
  background: linear-gradient( to bottom, rgba(245, 241, 235, 0.65), rgba(245, 241, 235, 0.9) ), url('../images/promotions-hero.webp') center/cover no-repeat;
  border-bottom: 1px solid var(--gray-200);
}
.hero-inner { padding-top: var(--space-14); padding-bottom: var(--space-14); }
.eyebrow { letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray-700); font-size: var(--text-sm); margin-bottom: var(--space-2); }
.subtitle { color: var(--gray-700); max-width: 60ch; }
.hero-cta { display: flex; gap: var(--space-3); margin-top: var(--space-4); flex-wrap: wrap; }

.section { padding: var(--space-16) 0; }
.section-header { margin-bottom: var(--space-8); }
.section-header p { color: var(--gray-700); }

.rec-card .rating { color: var(--color-primary); font-family: var(--font-serif); }
.rec-card .meta { color: var(--gray-600); font-size: var(--text-sm); }

/* Seasonal block */
.seasonal-card { display: grid; gap: var(--space-6); grid-template-columns: 1.3fr 1fr; align-items: start; }
.seasonal-figure { margin: 0; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-soft); }
.seasonal-content ul { padding-left: 1em; }

@media (max-width: 960px) {
  .seasonal-card { grid-template-columns: 1fr; }
}

/* Filters */
.filters label { display: grid; gap: var(--space-2); }
.filters select { max-width: 100%; }

/* Minor spacing tweaks */
details > summary { cursor: pointer; margin-bottom: var(--space-2); }
