[data-cloud-collection][hidden] { display: none; }

.cloud-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.75rem 0 1.25rem;
}

.cloud-controls input {
  width: min(24rem, 100%);
  padding: 0.7rem 0.85rem;
  border: 1px solid var(--border-color, #d9ddd9);
  border-radius: 0.3rem;
  background: var(--background-color, #fff);
  color: inherit;
  font: inherit;
}

.cloud-controls span,
.cloud-date,
.cloud-meta,
.cloud-trip time,
.cloud-food-row > time {
  color: var(--text-muted, #687068);
  font-size: 0.79rem;
}

.cloud-media-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
  gap: 1rem;
}

.cloud-media-card {
  display: grid;
  grid-template-columns: 5.25rem minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  padding: 1rem 0;
  border-top: 1px solid var(--border-color, #d9ddd9);
}

.cloud-cover {
  display: grid;
  width: 5.25rem;
  height: 7.75rem;
  place-items: center;
  overflow: hidden;
  border-radius: 0.25rem;
  background: var(--surface-color, #eef0ec);
  color: var(--accent-color, #375c47);
  font-family: Georgia, serif;
  font-size: 2rem;
}

.cloud-cover img { width: 100%; height: 100%; object-fit: cover; }
.cloud-media-copy { min-width: 0; }
.cloud-date { margin: 0 0 0.25rem; }
.cloud-media-card h2,
.cloud-food-row h2,
.cloud-trip h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.15rem;
  font-weight: 500;
  line-height: 1.22;
}

.cloud-meta { margin: 0.3rem 0; }
.cloud-stars { margin-top: 0.35rem; color: #b77817; font-size: 0.9rem; letter-spacing: 0.05em; }
.cloud-favorite { display: inline-block; margin-top: 0.55rem; padding: 0.18rem 0.42rem; border-radius: 999px; background: rgba(55, 92, 71, 0.11); color: var(--accent-color, #375c47); font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; }
.cloud-review { margin: 0.7rem 0 0; font-size: 0.88rem; line-height: 1.55; }

.cloud-food-list,
.cloud-trip-list,
.cloud-post-list { border-top: 1px solid var(--border-color, #d9ddd9); }

.cloud-food-row {
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr) auto;
  gap: 0.85rem;
  padding: 1.05rem 0;
  border-bottom: 1px solid var(--border-color, #d9ddd9);
}

.cloud-rank { color: var(--text-muted, #687068); font-family: Georgia, serif; font-size: 1.05rem; }
.cloud-food-row > time { white-space: nowrap; }
.cloud-dishes { margin-top: 0.8rem; font-size: 0.82rem; }
.cloud-dishes strong { display: block; margin-bottom: 0.35rem; }
.cloud-dishes ul { margin: 0; padding: 0; list-style: none; }
.cloud-dishes li { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0.25rem 0; }
.cloud-dishes small { color: #b77817; }
.cloud-dishes em { color: var(--text-muted, #687068); }

.cloud-trip {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 1px solid var(--border-color, #d9ddd9);
}
.cloud-trip p { margin: 0.55rem 0 0; }

.cloud-post-row { padding: 1.05rem 0; border-bottom: 1px solid var(--border-color, #d9ddd9); }
.cloud-post-row .entry-title { margin-top: 0; }

.cloud-page-loading { min-height: 4rem; }

@media (max-width: 620px) {
  .cloud-controls { align-items: stretch; flex-direction: column; }
  .cloud-controls input { width: 100%; }
  .cloud-media-grid { grid-template-columns: 1fr; }
  .cloud-food-row { grid-template-columns: 2rem minmax(0, 1fr); }
  .cloud-food-row > time { grid-column: 2; }
  .cloud-trip { grid-template-columns: 1fr; gap: 0.25rem; }
}
