/* Organic grocery — earthy sage, Fraunces-like via Source Serif */
:root {
  --so-bg: #f7f4ef; --so-sage: #5a7247; --so-earth: #8b6914;
  --so-ink: #2a2a1f; --so-muted: #6e6a5e; --so-card: #fffcf7;
}
body.supermarket-organic {
  font-family: "Source Serif 4", "Noto Naskh Arabic", serif;
  background: var(--so-bg); color: var(--so-ink);
}
.so-nav {
  width: min(1000px, 92%); margin: 0 auto; padding: 1.5rem 0;
  display: flex; justify-content: space-between; align-items: center;
}
.so-nav .logo { font-size: 1.4rem; font-weight: 600; color: var(--so-sage); font-style: italic; }
.so-nav a { margin-right: 1.1rem; color: var(--so-muted); font-size: .9rem; }
.so-hero {
  width: min(1000px, 92%); margin: 0 auto 3rem; text-align: center; padding: 2rem 0;
}
.so-hero .leaf { color: var(--so-sage); letter-spacing: .2em; font-size: .75rem; margin-bottom: 1rem; }
.so-hero h1 { font-size: clamp(2rem, 4.5vw, 3rem); font-weight: 600; line-height: 1.35; margin-bottom: 1rem; }
.so-hero p { color: var(--so-muted); max-width: 32em; margin: 0 auto 1.5rem; }
.so-hero img {
  width: 100%; max-width: 720px; margin: 0 auto; border-radius: 4px;
  aspect-ratio: 16/9; object-fit: cover;
}
.so-sec { width: min(1000px, 92%); margin: 0 auto 3.5rem; }
.so-sec h2 { text-align: center; font-size: 1.6rem; color: var(--so-sage); margin-bottom: .4rem; }
.so-sec .lead { text-align: center; color: var(--so-muted); margin-bottom: 2rem; font-style: italic; }
.so-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem;
}
@media (max-width: 750px) { .so-grid { grid-template-columns: 1fr; } }
.so-item {
  background: var(--so-card); border: 1px solid #e5dfd3; border-radius: 4px; overflow: hidden;
}
.so-item img { aspect-ratio: 5/4; width: 100%; object-fit: cover; }
.so-item .info { padding: 1.15rem; }
.so-item h3 { font-size: 1.1rem; margin-bottom: .35rem; }
.so-item p { color: var(--so-muted); font-size: .9rem; margin-bottom: .5rem; }
.so-item .tag { color: var(--so-earth); font-size: .8rem; font-weight: 600; }
.so-farm {
  display: grid; grid-template-columns: .9fr 1.1fr; gap: 2rem; align-items: center;
  background: #eef2e8; padding: 2.5rem; border-radius: 4px;
}
@media (max-width: 750px) { .so-farm { grid-template-columns: 1fr; } }
.so-farm img { width: 100%; border-radius: 4px; aspect-ratio: 4/3; object-fit: cover; }
.so-farm h2 { font-size: 1.5rem; color: var(--so-sage); margin-bottom: .75rem; }
.so-farm p { color: var(--so-muted); margin-bottom: .7rem; }
.so-farm a {
  display: inline-block; margin-top: .5rem; border-bottom: 1px solid var(--so-sage);
  color: var(--so-sage); font-weight: 600;
}
.so-foot { text-align: center; padding: 2rem; color: var(--so-muted); font-size: .85rem; }
.so-foot a { color: var(--so-sage); }
