/* Keep the portrait and its caption within one explicit image frame. */
.demo-salon .portrait { display: block; isolation: isolate; }
.demo-salon .portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.demo-salon .portrait::after { height: 28%; border-radius: 0 0 6px 6px; }
.demo-salon .portrait em { inset: auto 24px 24px; display: block; width: auto; text-align: right; font-size: clamp(.875rem, 1.4vw, 1.125rem); line-height: 1.5; }
.demo-salon .portrait-stamp { z-index: 2; }
.salon-management { min-width: 0; }
.calendar-guide { margin: 0 0 20px; color: #e9d8e1; font-size: .875rem; }
.salon-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.salon-stats > div { padding: 12px 0; border-top: 1px solid #876974; }
.salon-stats b { display: block; font: 500 2rem Fraunces, Georgia, serif; color: #fff; }
.salon-stats span { color: #e9d8e1; font-size: .6875rem; }
.booking-state { margin-top: 6px; color: #4f3943; font-size: .6875rem; font-weight: 700; }
.demo-salon .cal-row .rejected { background: #f2f0f1; border-color: #8c7f86; }
.demo-salon .legend .rejected { background: #c0b4ba; }
.demo-salon .cal-row button { min-height: 36px; }
.demo-salon .cal-head { gap: 10px; align-items: center; }
.demo-salon .cal-head strong { font-size: .75rem; text-align: center; }
.salon-toolbar { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.salon-toolbar button { padding: 10px 14px; border: 1px solid #a28492; border-radius: 8px; color: #fff; background: transparent; font-size: .75rem; }
.salon-status { color: #e9d8e1; font-size: .875rem; margin-top: 16px; }
.calendar-empty { padding: 20px 0; color: #71535f; font-size: .875rem; }
.demo-salon .booking-workspace form > .salon-follow { background: #f7edf1; color: #74334f; border: 1px solid #c89bad; padding: 12px; font-size: .8125rem; }
.demo-salon .booking-workspace button:disabled { background: #e4d9df; color: #4c3943; cursor: default; }
.salon-dialog { color: #35252d; background: #fffaf7; }
.salon-dialog .dialog-action { background: #88425e; }
.salon-facts { margin: 24px 0; }
.salon-facts dt { color: #795e6b; font-size: .6875rem; text-transform: uppercase; letter-spacing: .08em; }
.salon-facts dd { margin: 4px 0 16px; font-size: .9375rem; overflow-wrap: anywhere; }
.salon-dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.salon-secondary { padding: 12px 16px; border: 1px solid #b893a3; border-radius: 8px; color: #74334f; background: transparent; font-weight: 600; font-size: .8125rem; }
.salon-move { margin: 24px 0; border-block: 1px solid #dfccd4; padding: 16px 0; }
.salon-move summary { cursor: pointer; font-size: .875rem; font-weight: 600; }
.salon-move p { color: #765e69; }
.salon-move form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.salon-move form button { grid-column: 1 / -1; }
.salon-dialog [role="status"] { color: #8b324b; }
@media (max-width: 620px) {
  .demo-salon .portrait em { inset: auto 16px 18px; font-size: .875rem; }
  .salon-stats { gap: 8px; }
  .salon-dialog-actions { flex-direction: column; }
  .salon-move form { grid-template-columns: minmax(0, 1fr); }
  .salon-move input { min-width: 0; }
}
