/* E-93: native dialog, v5 quick-view proportions; isolated from Flux. */
html.sh-dialog-open { overflow: hidden; }
.sh-frontend dialog.sh-dialog {
  color: var(--sh-text); background: var(--sh-surface); border: 1px solid var(--sh-line);
  padding: 0; box-shadow: none; color-scheme: dark;
}
.sh-dialog::backdrop { background: color-mix(in srgb, var(--sh-onyx) 70%, transparent); }
.sh-frontend dialog.sh-quick-view {
  margin: auto; width: min(47.5rem, calc(100vw - 24px)); max-width: calc(100vw - 24px);
  max-height: calc(100dvh - 24px); overflow: auto; container-type: inline-size; border-radius: var(--sh-radius);
}
.sh-quick-view[open] { animation: sh-qv-enter .3s var(--sh-ease); }
@keyframes sh-qv-enter { from { opacity: 0; transform: translateY(12px); } }
.sh-frontend .sh-dialog-close {
  position: sticky; top: 8px; float: right; margin: 8px 8px -52px 0; z-index: 3;
  background: var(--sh-bg); border: 1px solid var(--sh-control);
}
.sh-quick-view .kt-quickview-content { display: grid; grid-template-columns: minmax(0, 1fr); }
.sh-quick-view .kt-quickview-content-left { display: grid; place-items: center; background: var(--sh-bg); min-width: 0; }
.sh-quick-view .kt-quickview-content-left img { width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.sh-quick-view .kt-quickview-content-right { display: flex; flex-direction: column; gap: .875rem; padding: 20px; min-width: 0; }
.sh-frontend .sh-quick-view h2:not(.sh-sr-only) { font: 800 1.5rem/1.05 var(--font-display); text-transform: uppercase; letter-spacing: -.02em; padding-right: 0; }
.sh-qv-description { color: var(--sh-text-muted); font: 400 var(--t-sm)/1.6 var(--font-body); overflow-wrap: anywhere; }
.sh-qv-price { font: 800 1.25rem/1.2 var(--font-display); font-variant-numeric: tabular-nums; }
.sh-qv-price :is(ins, del) { background: transparent; color: inherit; }
.sh-qv-stock { font-size: var(--t-sm); }
.sh-qv-state { display: flex; flex-wrap: wrap; align-items: center; gap: .875rem; padding: 1.25rem; }
.sh-qv-state [data-qv-status]:empty { display: none; }
.sh-qv-state [data-qv-status] { flex-basis: 100%; }
.sh-qv-state a { color: var(--sh-text); text-underline-offset: .25em; min-height: 44px; display: inline-flex; align-items: center; }
.sh-quick-view form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: auto 0 0; }
.sh-quick-view .quantity { display: inline-flex; align-items: center; max-width: 100%; float: none; margin: 0; }
.sh-quick-view .quantity :is(input.qty, button) { min-width: 44px; width: 44px; height: 48px; padding: 0; margin: 0; text-align: center; border: 1px solid var(--sh-control); border-radius: 6px; background: var(--sh-bg); color: var(--sh-text); box-shadow: none; }
.sh-quick-view .quantity input.qty { width: 3rem; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }
.sh-quick-view input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.sh-quick-view .quantity button:hover { background: var(--sh-surface-2); }
.sh-quick-view button.single_add_to_cart_button { min-height: 48px; min-width: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; border: 1px solid transparent; border-radius: var(--sh-radius); padding: .75rem 1.25rem; background: var(--sh-gold); color: var(--sh-onyx); font: 600 var(--t-sm)/1.2 var(--font-body); box-shadow: none; }
.sh-quick-view button.single_add_to_cart_button:hover { background: var(--sh-gold-hi); }
.sh-quick-view button:disabled { opacity: .5; cursor: not-allowed; }
.sh-frontend .sh-card-quick-view { position: absolute; top: 8px; left: 8px; z-index: 4; background: var(--sh-bg); border: 1px solid var(--sh-control); }
.sh-frontend .sh-product-card[data-card-context="bestseller"] .sh-card-quick-view { left: auto; right: 8px; }
@container (min-width: 43.75rem) {
  .sh-quick-view .kt-quickview-content { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sh-quick-view .kt-quickview-content-right { padding: 32px; }
  .sh-quick-view .kt-quickview-content-left img { height: 100%; aspect-ratio: auto; }
  .sh-frontend .sh-quick-view h2:not(.sh-sr-only) { padding-right: 44px; }
}
@media (prefers-reduced-motion: reduce) { .sh-quick-view[open] { animation: none; } }
@media (forced-colors: active) {
  .sh-frontend dialog.sh-dialog, .sh-frontend .sh-card-quick-view, .sh-quick-view .quantity :is(button,input.qty), .sh-quick-view button.single_add_to_cart_button { border-color: ButtonText; }
}
