/*
  Product popup styles: a large photo with thumbnails on one side,
  product details and the WhatsApp question on the other.
*/
dialog { border: 0; padding: 0; border-radius: 6px; width: min(1040px, calc(100% - 28px)); max-height: calc(100% - 28px); background: var(--paper); color: var(--espresso); }
dialog::backdrop { background: #120f0cc7; backdrop-filter: blur(3px); }
.pop { display: grid; grid-template-columns: 1.1fr 1fr; }
.pop-gallery { padding: 16px; display: grid; gap: 10px; align-content: start; background: var(--bone); }
.pop-main { aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--radius); }
.pop-main img { width: 100%; height: 100%; object-fit: cover; }
.thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.thumb { aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; border: 2px solid transparent; padding: 0; cursor: pointer; background: none; }
.thumb img { width: 100%; height: 100%; object-fit: cover; }
.thumb[aria-current="true"] { border-color: var(--brass); }
.pop-info { padding: 36px 32px 28px; display: grid; gap: 14px; align-content: start; }
.pop-info .meta { font-size: 14px; color: var(--stone); letter-spacing: .04em; }
.pop-info h3 { font-size: 44px; }
.pop-info p { margin: 0; color: var(--stone); }
.spec { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.spec th, .spec td { text-align: start; padding: 9px 0; border-bottom: 1px solid var(--hairline); font-size: 16px; }
.spec th { color: var(--stone); font-weight: 400; width: 36%; }
.swatches { display: flex; gap: 8px; flex-wrap: wrap; }
.swatch { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; border: 1px solid var(--hairline); border-radius: 999px; padding: 4px 12px 4px 5px; }
.swatch i { width: 20px; height: 20px; border-radius: 50%; border: 1px solid #0002; }
.pop-info .price { font-size: 28px; }
.pop-actions { display: grid; gap: 10px; margin-top: 6px; }
.payments-note { font-size: 14px; color: var(--stone); text-align: center; }
.close { position: absolute; top: 12px; left: 12px; width: 42px; height: 42px; border-radius: 50%; border: 0; background: #fff; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 2px 10px #0003; z-index: 2; }

@media (max-width: 760px) {
  .pop { grid-template-columns: 1fr; }
  .pop-main { aspect-ratio: 1; }
  .pop-info { padding: 24px 20px; }
  .pop-info h3 { font-size: 34px; }
}
