/* card.css — card related styles */
.card { background-color: var(--color-surface); border-radius: 0; border: 1px solid var(--color-border-subtle); box-shadow: var(--shadow-soft); padding: 1.3rem 1.3rem 1.35rem; position: relative; }
.card--primary-outline {border-top: 1px solid var(--color-border-subtle); border-left: 3px solid var(--color-primary); }
.card--shadow {margin-top: 1rem; border-top: 1px solid var(--color-border-subtle); border-left: 1px solid var(--color-border-subtle); }
.booking-card.card--shadow { border-left: 3px solid var(--color-primary); }
.card--accent-top { border-left: 1px solid var(--color-border-subtle); border-top: 3px solid var(--color-primary); }
.card--compact { padding-top: 0.9rem; padding-bottom: 1rem; }
.card--compact .card__title + * { margin-top: 0.5rem; }
.card__title { margin: 0; font-size: 1.05rem; font-weight: 600; }
.card .card__title + * { margin-top: 0.75rem; }
.card__desc { margin: 0 0 0.85rem; font-size: 0.9rem; color: var(--color-text-muted); line-height: 1.6; }
.card--full { grid-column: 1 / -1; }

/* 상세 정보 (홈) / 한눈에 보기 공통 스타일 */
.key-info { margin: 0}
.key-info__row { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1.5rem; font-size: 0.9rem; padding: 0.45rem 0; border-bottom: 1px dashed rgba(148, 163, 184, 0.6); align-items: baseline; }
.key-info__row:last-child { border-bottom: none; }
.key-info dt { font-weight: 500; color: var(--color-text-muted); margin: 0; }
.key-info dd { margin: 0; line-height: 1.5; word-break: keep-all; }

/* 상세 정보 리스트 (홈 탭) */
.info-list { margin: 0; }
.info-list__row { padding: 0.6rem 0; border-bottom: 1px dashed rgba(148, 163, 184, 0.6); font-size: 0.9rem; }
.info-list__row:last-child { border-bottom: none; }
.info-list dt { margin: 0 0 0.25rem; font-weight: 500; color: var(--color-text-muted); }
.info-list dd { margin: 0; line-height: 1.6; word-break: keep-all; }

/* 태그/배지 */
.badge-list { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem; font-size: 0.82rem; }
.badge-list li { padding: 0.25rem 0.6rem; border-radius: 999px; background-color: #f1f5f9; color: #0f172a; }

/* 가격 리스트 */
.price-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.6rem; font-size: 0.9rem; }
.price-list__desc{margin-bottom: 0;  color: var(--color-text-muted);}
.price-list__item { padding: 1rem 1rem; border-radius: 10px; border: 1px solid rgba(148, 163, 184, 0.22); background-color: #ffffff; break-inside: avoid; }
.price-list__row-top { display: flex; justify-content: space-between; gap: 0.75rem; align-items: flex-start; }
.price-list__name { font-weight: 500;}
.price-list__value { font-weight: 600; white-space: nowrap; }

@media (max-width: 768px) {
  .price-list { grid-template-columns: 1fr; }
}
