/* ================================================================
   Product page
   ================================================================ */
.pdp { padding-block: var(--space-6) var(--space-12); }
.pdp__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }

.pdp-gallery { position: sticky; top: calc(var(--header-h) + 1rem); }
.pdp-gallery__main { position: relative; border-radius: var(--radius-xl); overflow: hidden; background: var(--cream); aspect-ratio: 1; cursor: zoom-in; border: 6px solid #fff; box-shadow: var(--shadow-md); }
.pdp-gallery__main img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.pdp-gallery__chip { position: absolute; left: 14px; bottom: 14px; }
.pdp-gallery__thumbs { display: flex; gap: .6rem; margin-top: .8rem; overflow-x: auto; padding-bottom: 4px; }
.pdp-gallery__thumb { flex-shrink: 0; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; border: 2px solid transparent; background: #fff; opacity: .7; transition: opacity var(--duration-fast), border-color var(--duration-fast); }
.pdp-gallery__thumb img { width: 100%; height: 100%; }
.pdp-gallery__thumb.is-active, .pdp-gallery__thumb:hover { opacity: 1; border-color: var(--brand); }

.pdp-info__title { font-family: var(--font-display); font-weight: 500; font-size: clamp(2rem, 3.6vw, 3rem); line-height: 1; letter-spacing: -.02em; margin: .9rem 0 .8rem; text-wrap: balance; }
.pdp-info__short { color: var(--color-text-2); font-size: var(--text-md); }
.pdp-info__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .4rem .75rem; margin: var(--space-6) 0; padding: var(--space-5); border-radius: var(--radius-lg); background: var(--cream); }
.pdp-info__price .price { font-size: 1.8rem; }
.pdp-info__ask { font-family: var(--font-display); font-size: 1.6rem; color: var(--gold-ink); line-height: 1; }
.pdp-info__ask-note { width: 100%; font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-info__ctas { display: grid; gap: .7rem; }
.pdp-info__row { display: flex; gap: .7rem; flex-wrap: wrap; }
.pdp-info__row .btn { flex: 1; }
.pdp-info__trust { display: grid; gap: .8rem; margin-top: var(--space-6); padding-top: var(--space-6); border-top: 1px solid var(--color-border); font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-info__trust li { display: flex; gap: .7rem; align-items: flex-start; }
.pdp-info__trust .ico { color: var(--brand); flex-shrink: 0; margin-top: 1px; }
.pdp-info__trust b { color: var(--ink); }
.pdp-info__also { margin-top: var(--space-5); font-size: var(--text-sm); color: var(--color-text-2); }
.pdp-info__also a { color: var(--brand); text-decoration: underline; text-underline-offset: 3px; }

.pdp-details { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); padding-bottom: var(--space-16); }
.pdp-details__faq .display { font-size: clamp(1.7rem, 2.8vw, 2.3rem); margin-bottom: var(--space-5); }
.pdp-details .prose ul { list-style: none; margin-left: 0; display: grid; gap: .5rem; }
.pdp-details .prose ul li { padding-left: 1.6rem; position: relative; }
.pdp-details .prose ul li::before { content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 14px; border-radius: 4px; background: var(--brand-tint); box-shadow: inset 0 0 0 4px var(--brand-tint), inset 0 0 0 7px var(--brand); }

.pdp-lightbox { position: fixed; inset: 0; z-index: var(--z-modal); background: rgba(12,20,15,.92); display: none; place-items: center; padding: 2rem; }
.pdp-lightbox.is-open { display: grid; }
.pdp-lightbox img { max-width: min(92vw, 1000px); max-height: 88vh; object-fit: contain; border-radius: var(--radius-lg); background: #fff; }
.pdp-lightbox__close { position: absolute; top: 18px; right: 18px; width: 46px; height: 46px; border-radius: 50%; background: #fff; display: grid; place-items: center; }

@media (max-width: 900px) {
  .pdp__grid, .pdp-details { grid-template-columns: 1fr; }
  .pdp-gallery { position: static; }
}
