@import url('policies.css');

.product-detail { min-height: 70vh; background: var(--paper); }
.product-loading, .product-missing { width: min(100% - 36px, 1120px); margin: 0 auto; padding: clamp(80px, 10vw, 140px) 0; }
.product-breadcrumb { display: flex; gap: 8px; width: min(100% - 36px, 1280px); margin: 0 auto; padding: 24px 0 0; color: var(--muted); font-family: Arial, sans-serif; font-size: .78rem; letter-spacing: .04em; }
.product-breadcrumb a { color: inherit; text-decoration: none; }
.product-breadcrumb a:hover, .product-breadcrumb a:focus-visible { color: var(--ink); text-decoration: underline; }
.product-layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(360px, .8fr); gap: clamp(28px, 5vw, 70px); width: min(100% - 36px, 1280px); margin: 0 auto; padding: clamp(28px, 5vw, 70px) 0 clamp(80px, 10vw, 140px); }
.product-gallery { display: grid; gap: 14px; }
.product-gallery-main { position: relative; display: grid; min-height: clamp(360px, 52vw, 720px); place-items: center; overflow: hidden; background: #e7dcc5; }
.product-gallery-main img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-gallery-main.is-placeholder { background: repeating-linear-gradient(135deg, #efe3c6 0, #efe3c6 18px, #e7dcc5 18px, #e7dcc5 36px); }
.product-gallery-main.is-placeholder img { display: none; }
.product-thumbnails { display: flex; flex-wrap: wrap; gap: 10px; }
.product-thumbnails[hidden] { display: none; }
.product-thumbnail { display: block; width: 76px; height: 76px; padding: 0; overflow: hidden; background: #e7dcc5; border: 2px solid transparent; cursor: pointer; }
.product-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-thumbnail.is-active, .product-thumbnail:hover, .product-thumbnail:focus-visible { border-color: var(--gold-deep, #8a6714); }
.image-placeholder-label { display: grid; gap: 8px; padding: 24px; color: var(--gold-deep, #8a6714); text-align: center; }
.image-placeholder-label strong { font-family: Arial, sans-serif; font-size: .82rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.image-placeholder-label span { font-family: Arial, sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .75; }
.product-info { align-self: start; position: sticky; top: 96px; padding-top: 12px; }
.eyebrow { margin: 0 0 12px; color: var(--gold-deep, #8a6714); font-family: Arial, sans-serif; font-size: .72rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.product-info h1, .product-missing h1 { margin: 0 0 16px; color: var(--ink); font-size: clamp(2.8rem, 5.4vw, 5.6rem); font-weight: 400; line-height: .92; }
.product-price { margin: 0 0 22px; font-family: Arial, sans-serif; font-size: 1rem; font-weight: 800; letter-spacing: .06em; }
.product-description { margin: 0 0 30px; color: var(--muted); font-size: 1.03rem; line-height: 1.65; }
.purchase-panel { display: grid; gap: 14px; margin: 0 0 34px; }
.stock-status { margin: 0; color: var(--ink); font-family: Arial, sans-serif; font-size: .75rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.is-out-of-stock .stock-status { color: #8a2f22; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; padding: 14px 22px; border: 1px solid transparent; border-radius: 3px; font-family: Arial, sans-serif; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.button-primary { color: #fbf6ea; background: var(--ink); }
.button-primary:hover, .button-primary:focus-visible { background: #050505; }
.button:disabled { color: #817a6d; background: #dad2c1; cursor: not-allowed; }
.product-notes { border-top: 1px solid var(--line); }
.product-notes details { border-bottom: 1px solid var(--line); }
.product-notes summary { min-height: 58px; cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; font-family: Arial, sans-serif; font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.product-notes summary::-webkit-details-marker { display: none; }
.product-notes summary::after { content: '+'; font-size: 1.1rem; }
.product-notes details[open] summary::after { content: '-'; }
.product-notes details p { margin: 0; padding: 0 0 22px; color: var(--muted); line-height: 1.6; }
.underlined-link { color: var(--ink); font-family: Arial, sans-serif; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-decoration: underline; text-decoration-color: var(--gold); text-underline-offset: 7px; text-transform: uppercase; }

@media (max-width: 820px) {
    .product-layout { grid-template-columns: minmax(0, 1fr); }
    .product-gallery-main { min-height: 360px; }
    .product-info { position: static; }
}
