@import url("../design-system/css/common.css");
/* ============================================================
   예우 장례식장·안치실 예약 — 이 묶음 화면에만 있는 배치 (yw-hall__…)  (2026-10-29)
   쪽: hall · hall-list · hall-detail · hall-request · hall-contact · hall-done
   부품(머리 줄 · 입력 칸 · 고르기 · 진행 표시 · 고정 버튼 · 금액 · 완료 · 빈 화면 …)은 공통에서 온다.
   여기서 부품의 겉모양을 덮어쓰지 않는다.
   ============================================================ */
.yw-hall { line-height: normal; }

/* 체험 띠 · 알림 */
.yw-hall__trial {
  margin: 0 var(--screen-margin); padding: var(--space-sm) var(--space-md); border-radius: var(--radius-sm);
  background: var(--status-warning-tint); color: var(--status-warning); font-size: var(--font-size-caption); font-weight: 500; text-align: center;
}
.yw-hall__trial + .yw-section { margin-top: var(--space-lg); }
.yw-hall__notice {
  display: flex; gap: var(--space-sm); align-items: flex-start; padding: var(--space-md) var(--space-lg);
  border: 1px solid var(--border-soft); border-radius: var(--radius-md); background: var(--surface-raised);
  font-size: var(--font-size-body-sm); line-height: 1.55;
}
.yw-hall__notice svg { flex: none; margin-top: 2px; color: var(--text-accent); }

/* 질문 · 도움말 */
.yw-hall__ask { margin-bottom: var(--space-md); font-size: var(--font-size-body); font-weight: 700; display: flex; align-items: baseline; gap: var(--space-sm); }
.yw-hall__ask small { font-size: var(--font-size-caption); font-weight: 400; color: var(--text-secondary); }
.yw-hall__title { margin-bottom: var(--space-md); font-size: var(--font-size-body); font-weight: 700; }
.yw-hall__title small { margin-left: var(--space-xs); font-size: var(--font-size-caption); font-weight: 400; color: var(--text-secondary); }
.yw-hall__help { margin-top: var(--space-sm); font-size: var(--font-size-caption); color: var(--text-secondary); line-height: 1.55; }
.yw-hall__help[hidden] { display: none; }
.yw-hall__link { color: var(--text-accent); font-weight: 500; text-decoration: underline; }
.yw-hall__edit { margin-left: auto; font-size: var(--font-size-caption); }
.yw-hall__gap { margin-top: var(--space-lg); }
.yw-hall__row2 { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-md); }
.yw-hall__row2 .yw-field + .yw-field { margin-top: 0; }
.yw-hall__memo { min-height: 84px; padding-top: var(--space-md); resize: vertical; }
.yw-hall div[hidden] { display: none; }

/* 찾기 — 지역 고르기 */
.yw-hall__chips { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.yw-hall__chip {
  min-height: var(--touch-min); padding: 0 var(--space-lg); border: 1px solid var(--border-soft); border-radius: var(--radius-full);
  background: var(--surface-raised); color: var(--text); font: inherit; font-size: var(--font-size-body-sm);
}
.yw-hall__chip[aria-checked="true"] { border-color: var(--fill-action); background: var(--fill-action); color: var(--on-action); font-weight: 500; }
.yw-hall__here { margin-top: var(--space-sm); }

/* 목록 */
.yw-hall__cond {
  display: flex; justify-content: space-between; align-items: center; gap: var(--space-md);
  margin: var(--space-lg) var(--screen-margin) 0; padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-md); background: var(--surface-raised); border: 1px solid var(--border-hairline); font-size: var(--font-size-body-sm);
}
.yw-hall__cond-text { font-weight: 500; }
.yw-hall__cond-change { flex: none; color: var(--text-accent); font-weight: 500; text-decoration: underline; }
.yw-hall__list-head { display: flex; justify-content: space-between; align-items: center; padding: var(--space-lg) var(--screen-margin) 0; }
.yw-hall__count { font-size: var(--font-size-meta); color: var(--text-secondary); }
.yw-hall__sort { display: flex; gap: var(--space-md); font-size: var(--font-size-caption); }
.yw-hall__sort a { display: inline-flex; align-items: center; min-height: var(--touch-min); color: var(--text-secondary); }
.yw-hall__sort a[aria-current="true"] { color: var(--text); font-weight: 700; }
.yw-hall__list-head + .yw-section { margin-top: var(--space-sm); }
.yw-hall__cards { display: grid; gap: var(--space-md); }
.yw-hall__card { display: grid; gap: var(--space-xs); color: var(--text); }
.yw-hall__card-top { display: flex; justify-content: space-between; align-items: center; gap: var(--space-sm); }
.yw-hall__card-name { font-size: var(--font-size-title); font-weight: 700; }
.yw-hall__card-area { font-size: var(--font-size-meta); color: var(--text-secondary); }
.yw-hall__offers { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-top: var(--space-xs); }
.yw-hall__card-price { margin-top: var(--space-sm); font-size: var(--font-size-body-sm); font-weight: 500; font-variant-numeric: tabular-nums; }
.yw-hall__card-note { font-size: var(--font-size-caption); color: var(--text-secondary); }
.yw-hall__sample-note { margin-top: var(--space-md); font-size: var(--font-size-caption); color: var(--text-secondary); text-align: center; }

/* 상세 */
.yw-hall__head { padding: var(--space-lg) var(--screen-margin) 0; }
.yw-hall__name { margin-top: var(--space-sm); font-family: var(--font-serif); font-weight: var(--font-weight-serif); font-size: var(--font-size-display); line-height: var(--line-height-tight); }
.yw-hall__area { margin-top: var(--space-xs); font-size: var(--font-size-meta); color: var(--text-secondary); }
.yw-hall__head + .yw-section { margin-top: var(--space-lg); }
.yw-hall__groups { display: grid; gap: var(--space-sm); }
.yw-hall__group-name { display: block; font-size: var(--font-size-body-sm); color: var(--text-accent); }
.yw-hall__ul { margin: var(--space-sm) 0 0; padding-left: var(--space-lg); font-size: var(--font-size-body-sm); line-height: 1.6; }
.yw-hall__facts { margin: 0; }
.yw-hall__fact { display: flex; gap: var(--space-lg); padding: var(--space-md) var(--space-card-x); font-size: var(--font-size-body-sm); line-height: 1.5; }
.yw-hall__fact + .yw-hall__fact { border-top: 1px solid var(--border-hairline); }
.yw-hall__fact dt { flex: none; width: 76px; color: var(--text-secondary); }
.yw-hall__fact dd { margin: 0; flex: 1; }
.yw-hall__bar { display: grid; flex: 1; gap: var(--space-sm); }
.yw-hall__bar-pair { display: flex; gap: var(--space-sm); }
.yw-hall__bar-pair .yw-button--line { flex: 1; min-height: 56px; padding: 0 var(--space-md); white-space: nowrap; }
.yw-hall__bar-pair .yw-button--primary { flex: 2; padding: 0 var(--space-md); white-space: nowrap; }
.yw-hall__call-note { font-size: var(--font-size-caption); color: var(--text-secondary); text-align: center; }
.yw-hall__call-note[hidden] { display: none; }

/* 완료 — 다음 단계 */
.yw-hall__steps { display: grid; gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.yw-hall__step { display: flex; align-items: center; gap: var(--space-md); font-size: var(--font-size-body-sm); color: var(--text-secondary); }
.yw-hall__step-no {
  display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: var(--radius-full);
  border: 1px solid var(--border-soft); background: var(--surface-raised); font-size: var(--font-size-caption); font-weight: 700;
}
.yw-hall__step[aria-current="step"] { color: var(--text); font-weight: 500; }
.yw-hall__step[aria-current="step"] .yw-hall__step-no { border-color: var(--fill-action); background: var(--fill-action); color: var(--on-action); }
.yw-hall__done-next { margin-top: 0; }
