/* Shared purchase surfaces: product details, checkout and transfer evidence. */
#shopDialog[data-purchase-view] { width: min(960px, calc(100vw - 32px)); }
#shopDialog h3 { margin: 0 0 16px; font-size: 1.1rem; letter-spacing: -.015em; }
.mh-purchase-steps { display: flex; gap: 18px; margin: 0 0 28px; padding: 0 0 20px; list-style: none; border-bottom: 1px solid var(--core-line); }
.mh-purchase-steps li { display: flex; align-items: center; gap: 8px; color: var(--core-muted); font-size: .78rem; line-height: 1.4; }
.mh-purchase-steps li span { width: 26px; height: 26px; flex: 0 0 26px; display: grid; place-items: center; border: 1px solid var(--core-line); border-radius: 8px; font-variant-numeric: tabular-nums; }
.mh-purchase-steps [aria-current] { color: var(--core-ink); font-weight: 800; }
.mh-purchase-steps [aria-current] span { background: var(--core-accent-soft); border-color: var(--core-accent); color: var(--core-accent); }
.mh-equipment-layout, .mh-checkout-layout, .mh-payment-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.mh-equipment-media { min-height: 300px; display: grid; place-items: center; background: var(--core-surface-soft); border-radius: 14px; overflow: hidden; }
.mh-equipment-gallery { min-width:0; }
.mh-equipment-thumbnails { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.mh-equipment-thumbnails button { width:68px; min-height:52px; padding:5px; border:1px solid var(--core-line); border-radius:8px; background:var(--core-surface); color:var(--core-ink); }
.mh-equipment-thumbnails button[aria-pressed="true"] { border-color:var(--core-accent); background:var(--core-accent-soft); }
.mh-equipment-thumbnails button:hover { border-color:var(--core-accent); }
.mh-equipment-thumbnails button:active { background:var(--core-surface-soft); }
.mh-equipment-thumbnails img { width:100%; height:40px; object-fit:contain; }
#shopDialog .mh-equipment-media .mh-product-photo { width: 100%; height: auto; min-height: 0; max-height: 420px; object-fit: contain; background: transparent; padding: 20px; }
.mh-equipment-spec { font-size: 1.05rem; line-height: 1.65; color: var(--core-muted); overflow-wrap: anywhere; }
.mh-equipment-price { margin: 20px 0; display: grid; gap: 4px; font-variant-numeric: tabular-nums; }
.mh-equipment-price small { font-size: .75rem; color: var(--core-muted); }
.mh-equipment-price strong, .mh-payment-total { font-size: clamp(1.8rem, 4vw, 2.3rem); font-weight: 850; letter-spacing: -.025em; margin: 12px 0 20px; }
.mh-equipment-facts { margin: 0 0 24px; }
.mh-equipment-facts div { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid var(--core-line); font-size: .85rem; }
.mh-equipment-facts dt { color: var(--core-muted); }
.mh-equipment-facts dd { margin: 0; text-align: right; font-weight: 750; }
.mh-equipment-info > .btn { width: 100%; margin-bottom: 8px; }
.mh-purchase-summary { padding-right: 24px; border-right: 1px solid var(--core-line); }
.mh-purchase-items { padding: 0; margin: 0; list-style: none; }
.mh-purchase-items li { display: flex; justify-content: space-between; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--core-line); font-size: .88rem; }
.mh-purchase-items li div { min-width: 0; display: grid; gap: 7px; }
.mh-purchase-items strong { overflow-wrap: anywhere; }
.mh-purchase-items span { color: var(--core-muted); font-size: .8rem; }
.mh-purchase-items b { font-variant-numeric: tabular-nums; white-space: nowrap; }
.mh-purchase-items .sm-btn { justify-self: start; padding: 4px 0; min-height: 32px; color: var(--core-muted); background: none; border: 0; text-decoration: underline; text-underline-offset: 3px; }
.mh-purchase-total { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 20px 0 4px; font-variant-numeric: tabular-nums; }
.mh-purchase-total strong { font-size: 1.5rem; }
.mh-checkout-form fieldset { min-width: 0; margin: 0; padding: 0 0 18px; border: 0; border-bottom: 1px solid var(--core-line); display: grid; gap: 12px; }
.mh-checkout-form legend { padding: 0 0 12px; font-weight: 850; font-size: .95rem; }
.mh-field-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.mh-payment-layout .mh-bank { margin: 0; background: var(--core-surface-soft); color: var(--core-ink); overflow-wrap: anywhere; }
.mh-checkout-form [data-shipping-extra] { display: grid; gap: 12px; }
#shopDialog[data-purchase-view] .btn { min-height: 44px !important; white-space: normal; }
@media (max-width: 680px) {
  .mh-equipment-layout, .mh-checkout-layout, .mh-payment-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .mh-equipment-media { min-height: 200px; }
  #shopDialog .mh-equipment-media .mh-product-photo { max-height: 260px; }
  .mh-purchase-summary { padding-right: 0; padding-bottom: 16px; border-right: 0; border-bottom: 1px solid var(--core-line); }
  .mh-purchase-steps { gap: 8px; }
  .mh-purchase-steps li { flex: 1; flex-direction: column; align-items: flex-start; font-size: .7rem; }
}
@media (max-width: 400px) { .mh-field-pair { grid-template-columns: minmax(0, 1fr); } }

.mh-public-cart { color:var(--core-ink); padding-block:32px; }
.mh-public-cart h1 { margin:0 0 24px; font-size:clamp(1.6rem,4vw,2.2rem); }
.mh-public-cart h2 { margin:0 0 16px; font-size:1.1rem; }
.mh-public-cart-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,320px); gap:32px; align-items:start; margin-bottom:24px; }
.mh-public-cart-items { margin:0; padding:0; list-style:none; min-width:0; }
.mh-public-cart-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 24px; align-items:center; padding:20px 0; border-bottom:1px solid var(--core-line); }
.mh-public-cart-row:first-child { padding-top:0; }
.mh-public-cart-product { display:grid; gap:8px; min-width:0; overflow-wrap:anywhere; }
.mh-public-cart-product span,.mh-public-cart-line-total span { color:var(--core-muted); font-size:.88rem; }
.mh-public-cart-quantity { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-variant-numeric:tabular-nums; }
.mh-public-cart-quantity span { min-width:88px; text-align:center; }
.mh-public-cart-line-total { display:grid; gap:4px; font-variant-numeric:tabular-nums; }
.mh-public-cart-remove { justify-self:end; text-decoration:underline; text-underline-offset:3px; }
.mh-public-cart-summary { min-width:0; padding:24px; border:1px solid var(--core-line); border-radius:14px; background:var(--core-surface); }
.mh-public-cart-summary .mh-purchase-total { flex-wrap:wrap; gap:8px; padding-top:0; }
.mh-public-cart-summary .btn { width:100%; }
.mh-public-cart button,.mh-public-cart .btn { min-width:44px; min-height:44px; white-space:normal; }
.mh-public-cart button { padding:8px 12px; border:1px solid var(--core-line); border-radius:8px; background:var(--core-surface); color:var(--core-ink); }
.mh-public-cart button:hover:enabled { border-color:var(--core-accent); background:var(--core-accent-soft); }
.mh-public-cart button:active:enabled { background:var(--core-surface-soft); }
.mh-public-cart button:disabled { opacity:.5; cursor:not-allowed; }
.mh-public-cart :is(button,a):focus-visible { outline:3px solid var(--core-accent); outline-offset:3px; }
@media (max-width:900px) {
  .mh-public-cart-layout { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@media (max-width:480px) {
  .mh-public-cart-row { gap:16px 8px; }
  .mh-public-cart-product,.mh-public-cart-quantity { grid-column:1 / -1; }
  .mh-public-cart-summary { padding:20px; }
}
