/* Fullscreen product detail; uses catalog tokens and an unscaled viewport. */
html.product-view-open { overflow: hidden; }
html > .product-quick-view {
  position: fixed; inset: 0; margin: 0; padding: 0;
  width: 100%; max-width: none; height: 100dvh; max-height: none;
  box-sizing: border-box; overflow: auto; overscroll-behavior: contain;
  border: 0; border-radius: 0;
  background: var(--catalog-bg); color: var(--catalog-text);
  font-family: 'Segoe UI Variable', 'Segoe UI', sans-serif;
}
.product-quick-view *, .product-quick-view *::before, .product-quick-view *::after { box-sizing: border-box; }
.product-quick-view::backdrop { background: var(--catalog-bg); }
.product-quick-view__shell {
  display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  align-content: start; align-items: start; gap: 32px 56px;
  width: min(1240px, 92%); min-height: 100dvh; margin: auto; padding: 28px 0 56px;
}
.product-quick-view__back {
  grid-column: 1 / -1; justify-self: start;
  display: inline-flex; align-items: center; gap: 12px;
  min-height: 44px; padding: 0 14px; border: 0; border-radius: 8px;
  background: var(--catalog-surface); color: var(--catalog-text);
  font: inherit; font-size: 14px; cursor: pointer;
  transition: background-color 200ms ease;
}
.product-quick-view__back span { font-size: 22px; line-height: 1; }
.product-quick-view__back:hover { background: var(--catalog-bg); }
.product-quick-view__media {
  display: grid; place-items: center; min-width: 0;
  height: min(68dvh, 640px); padding: clamp(18px, 3vw, 40px);
  border-radius: 16px; background: var(--catalog-surface-raised);
  color: var(--catalog-muted); font-size: 14px;
}
.product-quick-view__media img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.product-quick-view__content { min-width: 0; padding: 12px 0 0; }
.product-quick-view__category {
  margin: 0 0 16px; color: var(--catalog-muted);
  font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: .08em; text-transform: uppercase;
}
.product-quick-view__content h2 {
  margin: 0; font-family: 'Segoe UI Variable Display', 'Segoe UI', sans-serif;
  font-size: clamp(26px, 2.6vw, 38px); font-weight: 600; line-height: 1.16;
  letter-spacing: -.025em; text-wrap: balance; overflow-wrap: anywhere;
}
.product-quick-view__meta { margin: 16px 0 0; font-size: 15px; line-height: 1.5; color: var(--catalog-muted); }
.product-quick-view__meta:empty { display: none; }
.product-quick-view__purchase { margin-top: 32px; padding: 24px; border-radius: 12px; background: var(--catalog-surface); }
.product-quick-view__price-label { display: block; margin-bottom: 8px; color: var(--catalog-muted); font-size: 13px; }
.product-quick-view__price { display: block; font-size: clamp(26px, 2.5vw, 34px); line-height: 1.2; font-weight: 600; }
.product-quick-view__actions { margin-top: 22px; }
.product-quick-view__actions button {
  width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 8px;
  background: var(--catalog-accent); color: var(--catalog-bg); font: inherit;
  font-size: 15px; font-weight: 600; cursor: pointer;
  transition: background-color 200ms ease;
}
.product-quick-view__actions button:hover { background: oklch(from var(--catalog-accent) min(1, calc(l + .06)) c h); color: var(--catalog-bg); }
.product-quick-view__actions [hidden] { display: none !important; }
.product-quick-view__quantity { display: flex; align-items: center; justify-content: space-between; max-width: 180px; min-height: 48px; background: var(--catalog-bg); border-radius: 8px; }
.product-quick-view__quantity button { width: 48px; min-height: 48px; padding: 0; background: transparent; color: var(--catalog-text); font-size: 20px; }
.product-quick-view__quantity button:hover { background: oklch(0 0 0); color: var(--catalog-text); }
.product-quick-view__quantity output { min-width: 28px; text-align: center; font-size: 15px; font-variant-numeric: tabular-nums; }
.product-quick-view__terms { margin-top: 28px; }
.product-quick-view__terms h3 { margin: 0 0 10px; font-size: 14px; font-weight: 600; }
.product-quick-view__description { margin: 0; color: var(--catalog-muted); font-size: 14px; line-height: 1.65; text-wrap: pretty; }
.product-quick-view button:focus-visible { outline: 2px solid var(--catalog-accent); outline-offset: 4px; }
@media (max-width: 760px) {
  .product-quick-view__shell { width: calc(100% - 32px); grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 16px 0 32px; }
  .product-quick-view__media { height: clamp(240px, 40dvh, 420px); padding: 20px; }
  .product-quick-view__content { padding: 4px 0 0; }
  .product-quick-view__category { margin-bottom: 10px; }
  .product-quick-view__purchase { margin-top: 24px; padding: 20px; }
  .product-quick-view__terms { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { .product-quick-view button { transition: none; } }
