/* Páginas reais do produto: estilos restritos à galeria e à ampliação. */
#previews { --background: #f7f4eb; }
#previews .preview-content { max-width: 1060px; padding-block: 48px; }
.preview-intro { max-width: 720px; }
.preview-hint { text-align: center; color: #704f26; font: 14px/1.5 Arial, sans-serif; margin: 0 0 26px; }
.preview-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.preview-card { min-width: 0; background: #fff; border: 1px solid #ded2ba; border-radius: 8px; overflow: hidden; box-shadow: 0 3px 12px #4938190a; }
.preview-open { display: block; width: 100%; border: 0; padding: 12px; background: #eee5d7; color: #704f26; cursor: zoom-in; font: 600 13px/1.4 Arial, sans-serif; }
.preview-open img { display: block; width: 100%; height: auto; aspect-ratio: 800 / 510; object-fit: contain; }
.preview-open span { display: block; padding: 10px 0 0; }
.preview-open:hover { background: #e8dec1; }
.preview-open:focus-visible { outline: 3px solid #15803D; outline-offset: -4px; }
.preview-caption { padding: 18px 20px 20px; }
.preview-caption h3 { color: #704f26; font: 600 22px/1.3 'Playfair Display', Georgia, serif; margin-bottom: 6px; }
.preview-caption p { font: 16px/1.5 Arial, sans-serif; margin-bottom: 6px; }
.preview-caption small { color: #666052; font: 13px/1.4 Arial, sans-serif; }
.preview-caption .preview-bonus { display: block; margin-bottom: 8px; color: #704f26; font-weight: 700; }
.preview-stage img[hidden] { display: none; }
.preview-closing { text-align: center; max-width: 650px; margin: 34px auto 0; }
.preview-closing h3 { font: 500 26px/1.4 'Playfair Display', Georgia, serif; }
.preview-closing .purchase-block { max-width: 510px; }
.preview-dialog { position: fixed; inset: 0; width: min(1240px, calc(100% - 32px)); height: min(900px, calc(100dvh - 32px)); max-width: calc(100% - 32px); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 1px solid #bfa775; border-radius: 12px; background: #f7f4eb; color: #302619; overflow: hidden; }
.preview-dialog[open] { display: flex; flex-direction: column; }
.preview-dialog::backdrop { background: #1b160ee6; }
.preview-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; border-bottom: 1px solid #ded2ba; flex-shrink: 0; }
.preview-dialog-header h2 { font: 600 21px/1.3 'Playfair Display', Georgia, serif; }
.preview-dialog-header p { font: 13px/1.4 Arial, sans-serif; color: #6b604e; margin-top: 4px; }
.preview-control { flex-shrink: 0; min-width: 44px; min-height: 44px; padding: 10px 16px; border: 1px solid #c4b18e; border-radius: 6px; background: #fff; color: #50391c; cursor: pointer; font: 600 14px/1.3 Arial, sans-serif; }
.preview-control:hover { background: #e8dec1; }
.preview-control:focus-visible, .preview-stage:focus-visible { outline: 3px solid #15803D; outline-offset: -3px; }
.preview-control:disabled { opacity: .5; cursor: wait; }
.preview-close { font-size: 24px; padding: 4px 12px; }
.preview-stage { position: relative; flex: 1; min-height: 0; width: 100%; padding: 12px; overflow: auto; overscroll-behavior: contain; background: #d9d0c1; }
.preview-stage img { display: block; width: 100%; height: 100%; object-fit: contain; }
.preview-dialog[data-zoomed="true"] .preview-stage img { width: var(--detail-width, 1000px); max-width: none; height: auto; }
.preview-stage[aria-busy="true"] img { visibility: hidden; }
.preview-stage[aria-busy="true"]::after { content: 'Cargando página…'; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font: 16px/1.5 Arial, sans-serif; }
.preview-error { margin: 24px; text-align: center; font: 16px/1.6 Arial, sans-serif; }
.preview-dialog-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 12px 20px; border-top: 1px solid #ded2ba; flex-shrink: 0; }
.preview-navigation { display: flex; gap: 8px; }
.preview-count { font: 14px/1.4 Arial, sans-serif; text-align: center; min-width: 42px; }
.preview-zoom-help { flex-basis: 100%; font: 13px/1.4 Arial, sans-serif; text-align: center; color: #655b49; }
html.preview-modal-open { overflow: hidden; scrollbar-gutter: stable; }
@media (max-width: 600px) {
  #previews .preview-content { max-width: 430px; padding: 34px 24px; }
  .preview-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .preview-open { padding: 8px; }
  .preview-caption { padding: 16px; }
  .preview-caption h3 { font-size: 21px; }
  .preview-closing h3 { font-size: 24px; }
  .preview-dialog { width: calc(100% - 16px); max-width: calc(100% - 16px); height: calc(100dvh - 16px); max-height: calc(100dvh - 16px); border-radius: 8px; }
  .preview-dialog-header { padding: 12px; gap: 10px; }
  .preview-dialog-header h2 { font-size: 18px; }
  .preview-dialog-footer { padding: 10px; gap: 8px; }
  .preview-control { padding-inline: 12px; }
  .preview-stage { padding: 8px; }
}
