/* ==========================================================================
   Hours Table Component - 診療時間表
   ========================================================================== */

/* Wrapper */
:where(.hours-table__wrapper) {
  text-align: center;
}

/* Title (Optional) */
:where(.hours-table__title) {
  font-size: var(--wp--preset--font-size--heading-3);
  font-weight: var(--wp--custom--font-weight--bold);
  color: var(--wp--preset--color--primary);
  margin-bottom: var(--wp--preset--spacing--xs);
  position: relative;
  display: inline-block;
  padding-bottom: var(--wp--preset--spacing--base);
}

:where(.hours-table__title::after) {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 6rem;
  height: 0.2rem;
  background: var(--wp--preset--color--primary-700);
  border-radius: var(--wp--custom--border-radius--small);
}

/* Table */
:where(.hours-table) {
  width: 100%;
  max-width: 800px;
  margin: 0 auto var(--wp--preset--spacing--base);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
}

:where(.hours-table td, .hours-table th) {
  border-bottom: 1px solid var(--wp--preset--color--gray-200) !important;
  background: transparent;
}

:where(.hours-table th) {
  color: var(--wp--preset--color--gray-600);
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--medium);
  letter-spacing: 0.05em;
}

:where(.hours-table) :where {
  text-align: left;
  padding-left: var(--wp--preset--spacing--base);
}

/* Table Body */
:where(.hours-table tbody tr) {
  transition: background-color 0.2s ease;
  border-bottom: 1px solid var(--wp--preset--color--gray-200);
}

:where(.hours-table tbody tr:last-child) {
  border-bottom: none;
}

:where(.hours-table tbody tr:hover) {
  background: rgba(74, 123, 167, 0.03);
}

/* Time Cell */
:where(.hours-table__time) {
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: var(--wp--custom--font-weight--semibold);
  color: var(--wp--preset--color--gray-700);
  text-align: center;
  background: transparent;
}

/* Regular Cell */
:where(.hours-table__cell) {
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--sm);
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--primary-500);
  text-align: center;
}

/* Closed Cell */
:where(.hours-table__cell.is-closed) {
  color: var(--wp--preset--color--gray-400);
  font-size: var(--wp--preset--font-size--sm);
}

/* Notes Section */
:where(.hours-table__notes) {
  margin-top: var(--wp--preset--spacing--base);
  width: 100%;
  text-align: left;
}

:where(.hours-table__info) {
  width: 100%;
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--sm);
  padding: var(--wp--preset--spacing--sm) var(--wp--preset--spacing--base);
  background: var(--wp--preset--color--gray-100);
  border-radius: 9999px;
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--basic-text);
  text-decoration: none;
  border: 1px solid var(--wp--preset--color--gray-200);
  transition: all 0.3s ease;
}

:where(.hours-table__info:hover) {
  background: var(--wp--preset--color--primary-100);
  color: var(--wp--preset--color--primary-700);
}

:where(.hours-table__info .material-symbols-outlined) {
  font-size: 18px;
  color: var(--wp--preset--color--primary-500);
}

/* Context-specific overrides */

/* In CTA Section */
:where(.sec-011-cta__hours .hours-table__wrapper) {
  padding: 0;
}

:where(.sec-011-cta__hours .hours-table) {
  box-shadow: none;
  background: transparent;
}

:where(.sec-011-cta__hours .hours-table th) {
}
