/* ============================================================
   さりげなく — 営業状態・カレンダー・レコード 表示スタイル
   （dark + gold のサイト基調に合わせる）
   ============================================================ */

/* --- 営業中バッジ --- */
.live-status {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  font-family: var(--font-serif);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  padding: 0.28em 0.9em;
  border-radius: 999px;
  border: 1px solid var(--text-dim);
  margin-top: 0.4em;
}
.live-status .live-dot {
  width: 0.55em; height: 0.55em; border-radius: 50%;
  background: var(--text-muted); display: inline-block;
}
.live-status.is-open { color: var(--green-pale); border-color: rgba(82, 183, 136, 0.4); }
.live-status.is-open .live-dot { background: var(--green-pale); box-shadow: 0 0 6px var(--green-pale); animation: livePulse 2.4s ease-in-out infinite; }
.live-status.is-prep { color: var(--text-muted); }
.live-status.is-closed { color: var(--gold-soft); border-color: rgba(201, 168, 76, 0.4); }
.live-status.is-closed .live-dot { background: var(--gold-soft); }
@keyframes livePulse { 0%,100% { opacity: 1; } 50% { opacity: 0.35; } }

/* --- 休業のお知らせ --- */
.holiday-notice {
  margin: 1.4rem 0;
  padding: 0.9rem 1.2rem;
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-left: 3px solid var(--gold);
  border-radius: 4px;
  background: rgba(201, 168, 76, 0.06);
}
.holiday-notice .holiday-line {
  margin: 0.2em 0; color: var(--cream);
  font-size: 0.98rem; letter-spacing: 0.03em;
}

/* --- 営業カレンダー --- */
.shop-calendar { margin-top: 1.6rem; }
.cal-legend {
  display: flex; gap: 1.2rem; flex-wrap: wrap;
  font-size: 0.78rem; color: var(--text-muted);
  margin-bottom: 0.9rem;
}
.cal-legend span { display: inline-flex; align-items: center; gap: 0.4em; }
.cal-swatch { width: 0.8em; height: 0.8em; border-radius: 3px; display: inline-block; }
.cal-swatch.open { background: var(--black-soft); border: 1px solid var(--text-dim); }
.cal-swatch.closed { background: rgba(201, 168, 76, 0.25); border: 1px solid var(--gold); }
.cal-swatch.today { background: transparent; border: 1px solid var(--green-pale); }

.cal-months { display: flex; gap: 1.6rem; flex-wrap: wrap; }
.cal-table {
  border-collapse: collapse; flex: 1 1 260px; min-width: 250px;
  font-family: var(--font-serif);
}
.cal-table caption {
  text-align: left; color: var(--gold-soft);
  font-size: 0.95rem; letter-spacing: 0.08em; padding-bottom: 0.5rem;
}
.cal-table th {
  font-size: 0.72rem; font-weight: 400; color: var(--text-muted);
  padding: 0.3em 0; text-align: center;
}
.cal-table th.sun { color: #b06a5a; }
.cal-table th.sat { color: var(--blue-accent); }
.cal-day, .cal-empty {
  text-align: center; padding: 0.42em 0;
  font-size: 0.82rem; color: var(--text);
  position: relative; width: 14.28%;
}
.cal-day.past { color: var(--text-dim); }
.cal-day.closed {
  color: var(--gold-soft);
  background: rgba(201, 168, 76, 0.09);
  border-radius: 4px;
}
.cal-day.today {
  outline: 1px solid var(--green-pale);
  border-radius: 4px; color: var(--green-pale);
}
.cal-mark {
  position: absolute; left: 50%; bottom: 3px; transform: translateX(-50%);
  width: 3px; height: 3px; border-radius: 50%; background: var(--gold);
}
.cal-foot { color: var(--text-dim); font-size: 0.76rem; margin-top: 1rem; }

/* --- レコード（今夜の一枚 / ギャラリー） --- */
.rec-card {
  margin: 0;
  background: var(--black-soft);
  border: 1px solid rgba(201, 168, 76, 0.14);
  border-radius: 6px; overflow: hidden;
}
.rec-img { aspect-ratio: 1 / 1; background: var(--black-light); }
.rec-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rec-comment {
  padding: 0.9rem 1.1rem 0.4rem;
  color: var(--cream); font-size: 0.98rem; line-height: 1.7;
  letter-spacing: 0.02em;
}
.rec-date {
  display: block; padding: 0 1.1rem 0.9rem;
  color: var(--text-dim); font-size: 0.75rem; letter-spacing: 0.06em;
}

/* 今夜の一枚（トップ） */
#tonight-photo { max-width: 420px; margin: 0 auto; }

/* ギャラリー（/records/） */
.record-gallery {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1.4rem; margin-top: 2rem;
}
.rec-empty { color: var(--text-muted); text-align: center; padding: 3rem 0; }
