/* A native hidden/inert shell prevents a wrong identity before any script runs. */
main[data-product-page] [data-product-surface][hidden],
[data-product-loading][hidden] { display: none !important; }
main[data-product-page]:not([data-product-state="ready"]) > :not([data-product-loading]) { display: none !important; }
.product-loading { min-height: min(740px, 80vh); padding: clamp(28px, 5vw, 72px) 0; }
.product-loading-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(28px, 6vw, 88px); align-items: center; }
.product-loading-visual { aspect-ratio: 1; background: var(--stage, #edeae3); border: 1px solid var(--line, #d9d5ca); border-radius: 4px; }
.product-loading-copy { max-width: 460px; }
.product-loading-eyebrow { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--stone, #77746c); }
.product-loading h1 { margin: 18px 0 14px; font-family: var(--serif, Georgia, serif); font-weight: 400; font-size: clamp(30px, 4vw, 48px); line-height: 1.12; }
.product-loading p { color: var(--stone, #77746c); line-height: 1.7; }
.product-loading-lines { display: grid; gap: 14px; margin: 30px 0; }
.product-loading-lines span { height: 12px; width: 100%; background: var(--stage, #edeae3); border-radius: 3px; }
.product-loading-lines span:nth-child(2) { width: 82%; }
.product-loading-lines span:nth-child(3) { width: 56%; }
.product-loading-actions { display: flex; gap: 22px; flex-wrap: wrap; font-size: 13px; }
.product-loading-actions a, .product-loading-actions button { text-underline-offset: 5px; }
.product-loading-actions button { padding: 0; border: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
[data-product-state="error"] .product-loading-visual,
[data-product-state="unavailable"] .product-loading-visual,
[data-product-state="error"] .product-loading-lines,
[data-product-state="unavailable"] .product-loading-lines { display: none; }
[data-product-state="error"] .product-loading-layout,
[data-product-state="unavailable"] .product-loading-layout { grid-template-columns: 1fr; }
@media (max-width: 700px) {
  .product-loading { min-height: 70vh; padding-top: 24px; }
  .product-loading-layout { grid-template-columns: 1fr; gap: 24px; }
  .product-loading-visual { max-height: 36vh; aspect-ratio: auto; min-height: 210px; }
}
