/* Store try-on workspace. Shared fonts, sizes and color tokens remain authoritative. */
.tryon-notice { border: 1px solid var(--line); border-left: 3px solid #747b61; border-radius: .375rem; background: #eeece3; padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.tryon-notice strong { font-weight: var(--weight-semibold); }
.tryon-notice p, .tryon-caption, .tryon-section-note, .tryon-home-caption, .tryon-detail-demo { font-size: var(--type-caption); line-height: var(--leading-caption); color: var(--muted); }
.tryon-notice p { margin-top: .375rem; }
.tryon-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 1.5rem 0; }
.tryon-stats > div { min-width: 0; border-right: 1px solid var(--line); padding: .25rem 1rem .25rem 0; }
.tryon-stats > div:last-child { border-right: 0; }
.tryon-stats > div > span { display: block; font-size: var(--type-caption); color: var(--muted); }
.tryon-stats strong { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; font-size: var(--type-number); line-height: var(--leading-number); font-weight: var(--weight-bold); margin-top: .625rem; }
.tryon-stats small { color: var(--muted); }
.tryon-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 2rem; border-bottom: 1px solid var(--line); }
.tryon-tabs button { min-height: 2.75rem; padding: .75rem 1.25rem; border-bottom: 2px solid transparent; display: flex; gap: .5rem; align-items: center; }
.tryon-tabs [aria-current=page] { border-bottom-color: var(--ink); }
.tryon-search { display: flex; flex-wrap: wrap; gap: 1rem; align-items: flex-end; margin-bottom: 1rem; }
.tryon-search > div:first-child { flex: 1; min-width: min(100%,18rem); }
.tryon-search label { margin: 0 0 .5rem; }
.tryon-search input { min-width: 0; }
.tryon-booking-list { display: grid; gap: 1rem; }
.tryon-booking { display: grid; grid-template-columns: minmax(0,2fr) minmax(8.5rem,1fr) minmax(9rem,1fr) auto; gap: 1.25rem; align-items: center; padding: 1.25rem; border: 1px solid var(--line); border-radius: .625rem; }
.tryon-booking > div { min-width: 0; }
.tryon-ticket { display: block; font-size: var(--type-caption); line-height: var(--leading-caption); font-weight: var(--weight-medium); color: var(--muted); }
.tryon-booking h3 { margin: .375rem 0; }
.tryon-booking-main > p { font-size: var(--type-caption); color: var(--muted); overflow-wrap: anywhere; }
.tryon-booking-visit { display: flex; flex-direction: column; gap: .25rem; }
.tryon-booking-state { display: flex; flex-wrap: wrap; align-content: center; gap: .5rem; }
.tryon-badge { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; border-radius: .25rem; background: #e9e5dc; color: #5f594d; padding: .25rem .5rem; font-size: var(--type-caption); line-height: var(--leading-caption); font-weight: var(--weight-regular); overflow-wrap: anywhere; }
.tryon-badge.success { background: #e5e8da; color: #46532f; }
.tryon-badge.accent { background: #dfe3d5; color: #39462e; }
.tryon-badge.warning, .tryon-alert { background: #eee3cf; color: #674e28; }
.tryon-alert { padding: .875rem 1rem; border: 1px solid #d4c7ac; border-radius: .375rem; margin: .75rem 0; font-size: var(--type-caption); line-height: var(--leading-caption); overflow-wrap: anywhere; }
.tryon-section-note { margin: .5rem 0 1.25rem; }
.tryon-home-caption { margin: -.25rem 0 1rem; }
.tryon-home-list { display: grid; gap: .75rem; }
.tryon-booking.is-compact { grid-template-columns: minmax(0,1fr) auto; gap: .75rem; padding: .875rem; }
.is-compact .tryon-booking-main { grid-column: 1 / -1; }
.is-compact .tryon-booking-visit { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: .25rem .625rem; }
.is-compact .tryon-booking-state { grid-column: 1; }
.is-compact .tryon-booking-actions { grid-column: 2; }
.tryon-request-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; margin-top: 1rem; }
.tryon-request { border: 1px solid var(--line); border-radius: .5rem; padding: 1.25rem; min-width: 0; }
.tryon-request p { overflow-wrap: anywhere; }
.tryon-request > p { margin-top: .5rem; }
.tryon-request-top, .tryon-request-footer { display: flex; align-items: center; justify-content: space-between; gap: .75rem; flex-wrap: wrap; }
.tryon-request-top h3 { font-weight: var(--weight-semibold); }
.tryon-request-reason { border-top: 1px solid var(--line); padding-top: .75rem; }
.tryon-request-footer { margin-top: 1rem; }
.tryon-request select { max-width: 100%; }
dialog[data-wide=true] { width: min(65rem,calc(100% - 1.5rem)); }
.tryon-detail-intro { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.tryon-detail-intro h3 { margin: .375rem 0; }
.tryon-detail-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; margin: 1.5rem 0; padding: 1.25rem 0; border-block: 1px solid var(--line); }
.tryon-detail-summary > div { min-width: 0; display: flex; flex-direction: column; gap: .375rem; }
.tryon-detail-summary span, .tryon-detail-summary small { font-size: var(--type-caption); color: var(--muted); }
.tryon-detail-summary strong { font-size: var(--type-price); font-weight: var(--weight-semibold); line-height: var(--leading-price); }
.tryon-detail-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 1.5rem; }
.tryon-detail-layout > * { min-width: 0; }
.tryon-lines, .tryon-detail-aside { display: grid; gap: 1rem; align-content: start; }
.tryon-line, .tryon-panel { padding: 1.25rem; border: 1px solid var(--line); border-radius: .5rem; min-width: 0; }
.tryon-line-product { display: flex; gap: .875rem; align-items: flex-start; flex-wrap: wrap; margin-bottom: .75rem; }
.tryon-line-product > div:not(.catalog-photo) { flex: 1; min-width: 8rem; }
.tryon-line-product h3 { overflow-wrap: anywhere; }
.tryon-thumb { width: 4.5rem; height: 5rem; border-radius: .25rem; flex-shrink: 0; }
.tryon-line-facts { margin: 1rem 0; }
.tryon-line-facts > div { display: flex; justify-content: space-between; gap: .5rem 1rem; flex-wrap: wrap; border-bottom: 1px solid var(--line); padding: .625rem 0; }
.tryon-line-facts dt { font-size: var(--type-caption); color: var(--muted); }
.tryon-line-facts dd { margin: 0 0 0 auto; text-align: right; font-variant-numeric: tabular-nums; max-width: 100%; }
.tryon-line-facts small { display: block; margin-top: .25rem; color: var(--muted); }
.tryon-fee-detail { margin-top: .75rem; }
.tryon-fee-detail summary { cursor: pointer; min-height: 2.75rem; padding: .625rem 0; }
.tryon-line-action { margin-top: 1rem; }
.tryon-line-action p { margin-top: .5rem; }
.tryon-panel > .tryon-caption { margin-top: .75rem; }
.tryon-booking-fee { margin-bottom: 1.5rem; }
.tryon-panel > .primary, .tryon-panel > .secondary { margin-top: 1rem; }
.tryon-steps { padding-left: 1.375rem; margin: 1rem 0; color: var(--muted); }
.tryon-steps li { padding: .375rem 0; }
.tryon-steps .done { color: var(--ink); font-weight: var(--weight-medium); }
.tryon-detail-section { margin-top: 1.75rem; }
.tryon-detail-section h2 { margin-bottom: 1rem; }
.tryon-history { list-style: none; padding: 0; margin: 0; }
.tryon-history li { display: flex; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.tryon-history time, .tryon-history small { font-size: var(--type-caption); color: var(--muted); }
.tryon-history time { white-space: nowrap; font-variant-numeric: tabular-nums; }
.tryon-history > li > div { min-width: 0; }
.tryon-detail-demo { margin-top: 1.5rem; }
.tryon-calendar { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.tryon-calendar fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.tryon-calendar legend { margin-bottom: .75rem; }
.tryon-weekdays { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .5rem; }
.tryon-weekdays label, .tryon-check { display: flex; gap: .5rem; align-items: center; min-height: 2.75rem; margin: 0; cursor: pointer; }
.tryon-weekdays input, .tryon-check input { width: 1.25rem; height: 1.25rem; min-height: 0; flex-shrink: 0; accent-color: #4e5143; }
.tryon-date-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.tryon-date-list { margin-top: 1rem; display: grid; gap: .5rem; }
.tryon-date-list > div { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem 1rem; padding: .625rem 0; border-bottom: 1px solid var(--line); }
.tryon-date-list .quiet { margin-left: auto; padding: .5rem; }
.tryon-calendar-closed-title { margin-top: 2rem; }
.tryon-calendar-save { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem; }
.tryon-calendar-save p { max-width: 45rem; }
.tryon-calculator { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.5rem; }
.tryon-calc-line { min-width: 0; }
.tryon-calc-line > label { margin: 1rem 0 .5rem; }
.tryon-calc-total { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; padding: 1rem 0; margin: 1rem 0; border-block: 1px solid var(--line); align-items: baseline; }
.tryon-calc-total strong { font-size: var(--type-price); font-weight: var(--weight-semibold); }
.tryon-fee-table td:first-child { white-space: normal; min-width: 14rem; }
.tryon-fee-table td:first-child span { display: block; }
.tryon-fee-table td:first-child button { text-align: left; }
.tryon-pending-rules { margin-top: 1.5rem; }
.tryon-pending-rules ul { padding-left: 1.25rem; }
.tryon-pending-rules li { margin: .75rem 0; overflow-wrap: anywhere; }
@media (max-width: 1100px) {
  .tryon-booking:not(.is-compact) { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
  .tryon-booking:not(.is-compact) .tryon-booking-main { grid-column: 1 / -1; }
  .tryon-booking:not(.is-compact) .tryon-booking-actions { grid-column: 1 / -1; justify-self: end; }
  .tryon-calendar { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 900px) {
  .tryon-detail-layout { grid-template-columns: minmax(0,1fr); }
  .tryon-detail-aside { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tryon-detail-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tryon-detail-summary > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .tryon-notice { padding: 1rem; }
  .tryon-stats { gap: .75rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tryon-stats > div { padding-right: .5rem; }
  .tryon-stats > div > span { min-height: 2.625rem; }
  .tryon-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .25rem .5rem; }
  .tryon-tabs button { padding: .75rem .5rem; justify-content: center; }
  .tryon-search { display: grid; grid-template-columns: minmax(0,1fr); }
  .tryon-search > button { justify-self: start; }
  .tryon-booking { padding: 1rem; }
  .tryon-booking:not(.is-compact) .tryon-booking-actions { justify-self: stretch; }
  .tryon-booking-actions button { width: 100%; }
  .tryon-request-grid, .tryon-detail-aside, .tryon-calculator { grid-template-columns: minmax(0,1fr); }
  .tryon-panel, .tryon-line, .tryon-request { padding: 1rem; }
  .tryon-detail-summary { gap: 1rem .75rem; }
  .tryon-line-product > .tryon-badge { margin-left: auto; }
  .tryon-history li { flex-direction: column; gap: .375rem; }
  .tryon-weekdays { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .tryon-calendar-save > button { width: 100%; }
  .tryon-fee-table { white-space: normal; }
  .tryon-fee-table thead { display: none; }
  .tryon-fee-table tbody { display: grid; gap: 1rem; }
  .tryon-fee-table tr { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; }
  .tryon-fee-table :is(td,td:first-child,td:last-child) { display: flex; flex-direction: column; gap: .375rem; align-items: flex-end; border: 0; padding: 0; min-width: 0; max-width: none; white-space: normal; }
  .tryon-fee-table td:first-child { grid-column: 1 / -1; align-items: flex-start; overflow-wrap: anywhere; }
  .tryon-fee-table [data-label]::before { content: attr(data-label); font-size: var(--type-caption); color: var(--muted); }
}
@media (max-width: 359px) {
  .tryon-weekdays { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .tryon-detail-summary { grid-template-columns: minmax(0,1fr); }
  .tryon-request-footer > button { width: 100%; }
}

.tryon-terms .tryon-line-facts > div { display: grid; grid-template-columns: minmax(8rem,.65fr) minmax(0,1.8fr); gap: .5rem 1rem; }
.tryon-terms .tryon-line-facts dd { text-align: left; margin: 0; white-space: normal; overflow-wrap: anywhere; }
@media (max-width: 767px) { .tryon-terms .tryon-line-facts > div { grid-template-columns: minmax(0,1fr); } }

.tryon-fee-table td:last-child{white-space:normal;min-width:10rem;max-width:18rem}
.tryon-fee-table td:last-child small{display:block;overflow-wrap:anywhere;line-height:1.5;margin-top:.375rem}
@media(max-width:767px){.tryon-fee-table td:last-child{min-width:0;max-width:none}}
