.sale-pack { margin-top: 24px; }
.sale-pack h2 { margin-bottom: 12px; font-size: 23px; }
.sale-options { display: grid; gap: 10px; }
.sale-option { display: flex; align-items: center; gap: 12px; width: 100%; border: 1px solid #cbded7; border-radius: 16px; padding: 13px 16px; background: #fff; cursor: pointer; }
.sale-option:has(input:checked) { border: 2px solid #0c7356; background: #eaf8f1; padding: 12px 15px; }
.sale-option input { accent-color: #0b7455; flex: none; width: 18px; height: 18px; }
.sale-option-copy { min-width: 0; flex: 1; display: grid; }
.sale-option-copy strong { font-size: 18px; }
.sale-option-copy small,.sale-option-price small { display: block; color: #64747a; font-size: 13px; }
.sale-option-price { flex: none; text-align: right; font-weight: 700; font-size: 19px; }
.sale-action { display: flex; align-items: end; gap: 12px; margin-top: 16px; }
.sale-action label { display: grid; gap: 4px; flex: none; }
.sale-action input { width: 78px; height: 48px; padding: 8px; border: 1px solid #cbded7; border-radius: 10px; }
.sale-action .button { min-height: 48px; flex: 1; }
.sale-pack #market-sale-message { min-height: 26px; margin-top: 10px; }
.sale-pack #market-sale-message a,.cart-inline-link { color: #0a6550; text-decoration: underline; }
.cart-inline-link { display: inline-block; margin: 10px 0; font-weight: 700; }
.commerce-page { padding: 26px 0 72px; }
.commerce-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.commerce-heading h1 { margin: 16px 0 4px; }
.commerce-step { border-radius: 100px; background: #e1f4ed; padding: 8px 16px; white-space: nowrap; font-weight: 700; }
.commerce-columns { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .9fr); align-items: start; gap: 22px; }
.commerce-panel { border: 1px solid #e5e9e5; border-radius: 24px; padding: 26px; background: #fff; box-shadow: 0 10px 35px rgba(14, 63, 52, .04); }
.commerce-panel h2 { margin-bottom: 17px; }
.commerce-summary { position: sticky; top: 20px; }
.commerce-item { display: grid; grid-template-columns: 124px minmax(0, 1fr) auto; gap: 18px; padding: 18px 0; border-bottom: 1px solid #e7e9e3; }
.commerce-item:first-child { padding-top: 0; }
.commerce-item:last-child { border-bottom: 0; }
.commerce-item-photo { position: relative; display: block; width: 120px; height: 110px; overflow: hidden; border-radius: 12px; }
.commerce-item img { width: 120px; height: 110px; object-fit: cover; border-radius: 12px; }
.commerce-item-photo .coming-soon-watermark > span { font-size: 9px; letter-spacing: .03em; }
.commerce-item-placeholder { width: 120px; height: 110px; display: grid; place-items: center; border-radius: 12px; background: #edf3f0; color: #6e8179; font-size: 28px; }
.commerce-item h3 { margin-bottom: 4px; font-size: 19px; }
.commerce-item-right { text-align: right; display: grid; justify-items: end; gap: 16px; }
.commerce-item-right strong { font-size: 20px; }
.commerce-item-right label { display: flex; align-items: center; gap: 8px; }
.commerce-item-right input { width: 66px; border: 1px solid #cbded7; border-radius: 8px; padding: 7px; }
.commerce-remove { padding: 0; border: 0; background: none; text-decoration: underline; color: #5e6c72; }
.commerce-total-row,.commerce-summary-item { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; }
.commerce-total-row.strong { font-size: 20px; font-weight: 700; border-top: 1px solid #dce7e2; margin-top: 8px; padding-top: 16px; }
.commerce-summary-item { border-bottom: 1px solid #edf0ed; }
.commerce-summary-item span { min-width: 0; }
.commerce-summary-item small { display: block; color: #667681; }
.commerce-primary { width: 100%; display: inline-flex; justify-content: center; align-items: center; text-align: center; margin-top: 20px; padding: 13px 20px; }
.commerce-primary.is-disabled { pointer-events: none; opacity: .5; }
.commerce-summary > .small { margin-top: 10px; }
.commerce-back { display: inline-block; margin-top: 22px; text-decoration: underline; }
.commerce-empty { text-align: center; padding: 50px 10px; }
.commerce-empty .button { display: inline-flex; margin-top: 18px; }
.commerce-notice { border-radius: 14px; padding: 13px 16px; background: #fff0d7; color: #503511; margin: 16px 0; }
.commerce-auth { padding-bottom: 20px; border-bottom: 1px solid #e8ece8; margin-bottom: 22px; }
.commerce-auth h2 { margin-bottom: 4px; }
.commerce-line-login { margin-top: 13px; border: 1px solid #1aa755; background: #eef9f1; color: #105a35; padding: 10px 15px; border-radius: 10px; font-weight: 700; }
.commerce-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.commerce-fields label { display: grid; gap: 5px; font-weight: 700; }
.commerce-fields .wide { grid-column: 1 / -1; }
.commerce-fields input,.commerce-fields textarea,.commerce-fields select { width: 100%; min-height: 46px; border: 1px solid #cddad5; border-radius: 10px; padding: 10px 12px; background: #fff; color: #153d38; font-weight: 400; }
.commerce-fields textarea { min-height: 100px; resize: vertical; }
.commerce-review { border-top: 1px solid #e3eae5; margin-top: 26px; padding-top: 23px; }
.commerce-wallet { display: flex; align-items: center; gap: 10px; background: #e6f7ee; border-radius: 12px; margin: 18px 0; padding: 14px; cursor: pointer; }
.commerce-wallet input { width: 20px; height: 20px; accent-color: #0a7350; }
.order-page #market-order-detail h2 { margin: 10px 0; }
.order-page #market-order-detail h2:not(:first-child) { margin-top: 28px; }
.order-page #market-payment-action { margin: 22px 0; }
.order-page #market-payment-action .small { margin-top: 10px; }
[hidden] { display: none !important; }
@media (max-width: 900px) {
  .commerce-columns { grid-template-columns: 1fr; }
  .commerce-summary { position: static; }
  .commerce-page { padding-top: 18px; }
}
@media (max-width: 600px) {
  .commerce-heading { align-items: start; }
  .commerce-heading h1 { font-size: 34px; }
  .commerce-step { padding: 6px 10px; font-size: 13px; }
  .commerce-panel { padding: 18px; border-radius: 18px; }
  .commerce-item { grid-template-columns: 86px minmax(0, 1fr); gap: 12px; }
  .commerce-item img { width: 86px; height: 86px; }
  .commerce-item-photo { width: 86px; height: 86px; }
  .commerce-item-photo .coming-soon-watermark > span { font-size: 8px; }
  .commerce-item-placeholder { width: 86px; height: 86px; }
  .commerce-item h3 { font-size: 16px; }
  .commerce-item-right { grid-column: 2; display: flex; justify-content: space-between; align-items: center; width: 100%; }
  .commerce-item-right strong { font-size: 17px; }
  .commerce-fields { grid-template-columns: 1fr; }
  .commerce-fields .wide { grid-column: auto; }
  .sale-action { flex-wrap: wrap; }
  .sale-action .button { min-width: 190px; }
  .sale-option-price { font-size: 17px; }
}
