.bpc-catalog { max-width:1220px; margin:0 auto; padding:18px 10px 50px; }
.bpc-catalog-header { text-align:center; margin:0 0 20px; }
.bpc-catalog-header h1 { margin:0 0 6px; font-size:28px; }
.bpc-catalog-header p { margin:0; opacity:.75; }
.bpc-catalog-page { position:relative; margin:0 auto 28px; width:100%; max-width:1180px; line-height:0; box-shadow:0 6px 22px rgba(0,0,0,.18); background:#fff; }
.bpc-catalog-page img { width:100%; height:auto; display:block; }
.bpc-buy { position:absolute; transform:translate(-50%, -50%); display:flex; align-items:center; gap:4px; z-index:10; padding:5px; border-radius:8px; background:rgba(255,255,255,.94); box-shadow:0 3px 12px rgba(0,0,0,.25); line-height:1; }
.bpc-buy input { width:52px; min-width:52px; height:32px; padding:0 4px; text-align:center; border:1px solid #999; border-radius:5px; font-size:14px; }
.bpc-buy button { height:32px; border:0; border-radius:5px; padding:0 10px; background:#111; color:#fff; font-size:13px; font-weight:700; cursor:pointer; }
.bpc-buy button:hover { background:#333; }
.bpc-buy.is-loading { opacity:.65; pointer-events:none; }
.bpc-toast { position:fixed; right:18px; bottom:18px; z-index:9999; background:#111; color:#fff; padding:12px 15px; border-radius:8px; box-shadow:0 6px 20px rgba(0,0,0,.25); font-size:14px; max-width:330px; }
.bpc-toast.is-error { background:#9b1c1c; }
@media (max-width:768px) {
  .bpc-catalog { padding-left:4px; padding-right:4px; }
  .bpc-catalog-header h1 { font-size:22px; }
  .bpc-buy { transform:translate(-50%, -50%) scale(.86); transform-origin:center; }
  .bpc-buy input { width:44px; min-width:44px; height:28px; }
  .bpc-buy button { height:28px; padding:0 7px; font-size:12px; }
}
.bpc-catalog-page canvas { width:100%; height:auto; display:block; }
.bpc-pdf-error::before { content:'No se pudo renderizar esta página del PDF. Renderiza las páginas como imágenes desde el back office o FTP.'; display:block; padding:20px; line-height:1.4; color:#9b1c1c; background:#fff3f3; }
