.page-title { margin-top: var(--space-120); }
.hours__container { display: flex; flex-direction: column; gap: var(--space-100); padding-inline: 0; padding-top: 0; }

/* 공통 스타일 */
.hours__section { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: var(--space-30); }
.hours__icon { width: 80px; height: 80px; color: var(--color-brand-accent); }
.hours__title { font-size: var(--font-size-h1); font-weight: 700; line-height: var(--line-height-h1); color: var(--color-text-muted); }
.hours__time { display: flex; flex-direction: column; gap: var(--space-8); font-size: var(--font-size-h3); font-weight: 500; line-height: var(--line-height-h3); color: var(--color-text-muted); }

/* Hours Notice */
.hours__notice { display: flex; flex-direction: column; align-items: center; padding: var(--space-50) var(--space-32); background-color: var(--color-surface-mood); color: var(--color-text-inverse); font-size: var(--font-size-h1); font-weight: 700; line-height: var(--line-height-h1); text-align: center; }
.hours__notice > span { display: flex; justify-content: center; flex-wrap: wrap; width: 100%; }

/* Hours Mass */
.hours__mass { row-gap: var(--space-16); }
.hours__mass .hours__icon { grid-row: 1 / 3; align-self: start;}

/* Hours Visit */
.hours__visit { row-gap: var(--space-30); }
.hours__visit .hours__icon, .hours__visit .hours__title { align-self: center; }
.hours__places, .hours__footnote { grid-column: 1 / -1; }
.hours__places { display: flex; flex-direction: column; gap: var(--space-50); width: 100%; max-width: 1200px; margin-inline: auto; }
.hours-card { display: flex; }
.hours-card:nth-child(even) { flex-direction: row-reverse; }
.hours__places--text { gap: var(--space-16); margin-top: var(--space-20); }
.hours-card--text { min-height: auto; }
.hours-card__image { width: 52%; max-width: 588px; height: auto; max-height: 470px; aspect-ratio: 289/231; object-fit: cover; }
.hours-card__content { display: flex; flex: 1; flex-direction: column; justify-content: center; gap: var(--space-16); min-width: 0; padding: clamp(var(--space-30), calc(var(--space-30) + (var(--space-80) - var(--space-30)) * (100vw - 1200px) / (1520px - 1200px)), var(--space-80)); background-color: var(--color-surface-cream); }
.hours-card__title { font-size: var(--font-size-h1); font-weight: 700; line-height: var(--line-height-h1); color: var(--color-text-default); }
.hours-card .hours__time { min-width: 200px; font-size: var(--font-size-h3); font-weight: 500; line-height: 1.7; letter-spacing: -0.72px; color: var(--color-text-muted); }
.hours-card--text .hours-card__title { font-size: var(--font-size-h1); line-height: var(--line-height-h1); }
.hours-card--text .hours-card__content { flex-direction: row; align-items: center; justify-content: start; gap: var(--space-20); padding: var(--space-20) var(--space-30); }

/* Hours Foot Note */
.hours__footnote { width: 100%; max-width: 1200px; margin-inline: auto; font-size: var(--font-size-h4); line-height: var(--line-height-h4); color: var(--color-text-muted); }
.hours__footnote strong { font-weight: 400; color: var(--color-brand-accent); }

@media (max-width: 1200px) {
  .page-title { margin-top: var(--space-50); }
  .hours__container { gap: var(--space-60); }

  /* 공통스타일 */
  .hours__section { grid-template-columns: 60px minmax(0, 1fr); }
  .hours__icon { width: 60px; height: 60px; }

  /* Hours Visit */
  .hours__visit { row-gap: var(--space-50); }
  .hours__places { gap: var(--space-50); }
  .hours-card { flex-direction: column; width: 100%; min-height: auto; }
  .hours-card:nth-child(even) { flex-direction: column; }
  .hours__places--text { gap: var(--space-20); margin-top: 0; }
  .hours-card__image { width: 100%; max-width: none; aspect-ratio: 179/143;}
  .hours-card__content { justify-content: center; min-height: auto; padding: var(--space-50) var(--space-40); }
  .hours-card--text .hours-card__content { flex-direction: column; align-items: flex-start; padding: var(--space-30); }
}

@media (max-width: 768px) {
  /* Hours Visit */
  .hours__visit { row-gap: var(--space-30); }
  .hours__places { gap: var(--space-30); }
  .hours__places--text { gap: var(--space-10); }
  .hours-card__content { padding: var(--space-30) var(--space-40); }
}
