/* Glam Store 1.3.0 — componentes del flujo de compra y paginación */
.toast-region{position:fixed;z-index:190;top:14px;left:50%;right:auto;bottom:auto;transform:translateX(-50%);width:min(430px,calc(100vw - 24px));align-items:stretch;pointer-events:none;display:flex;flex-direction:column;gap:8px}
.toast-region .toast{width:100%;max-width:none;min-width:0;box-shadow:0 14px 42px rgba(26,15,20,.25);pointer-events:auto}
.card-buy-controls{display:grid;gap:9px;margin:11px 0 4px}
.card-quantity{display:flex;gap:8px;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px;font-weight:700}
.card-qty-picker{display:flex;align-items:center;flex:none;border:1px solid #e5cbd1;border-radius:10px;background:#fff9fa;overflow:hidden;height:34px}
.card-qty-picker button{width:30px;height:32px;display:grid;place-items:center;color:var(--plum);border:0;background:transparent;cursor:pointer;transition:background .2s}
.card-qty-picker button:hover{background:#f5e3e8}
.card-qty-picker button:focus-visible{outline:2px solid var(--rose);outline-offset:-2px}
.card-qty-picker button .icon{font-size:14px}
.card-qty-picker input{width:35px;height:32px;text-align:center;border:0;border-inline:1px solid #ead9dc;background:#fff;font-size:12px;font-weight:800;color:var(--ink);appearance:textfield;-moz-appearance:textfield;padding:0}
.card-qty-picker input::-webkit-outer-spin-button,.card-qty-picker input::-webkit-inner-spin-button{appearance:none;-webkit-appearance:none;margin:0}
.product-card .btn-card{margin:0}
.catalog-pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:26px 0 5px}
.page-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:42px;height:42px;padding:0 12px;border:1px solid #e9ced8;border-radius:12px;background:#fff;color:var(--plum);font-weight:800;font-size:12px;transition:background .2s,color .2s,transform .2s}
.page-btn:hover{background:#f9e9ee;transform:translateY(-2px)}.page-btn.is-current{background:var(--plum);border-color:var(--plum);color:white}.page-btn.is-disabled{opacity:.36;pointer-events:none;cursor:default}.page-btn .icon{font-size:14px}
.page-ellipsis{color:var(--muted);font-size:18px}.page-caption{text-align:center;font-size:12px;color:var(--muted);margin:12px 0 0}
#catalog-list{scroll-margin-top:35px}
/* Pago: integrando los cuatro medios de prueba sin frameworks ni librerías JS */
.payment-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:34px;align-items:start;padding-top:34px}.payment-main{min-width:0}
.payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:23px}
.payment-choice{position:relative;cursor:pointer;min-width:0}.payment-choice input{position:absolute;opacity:0;top:16px;left:16px}
.payment-choice-ui{display:flex;align-items:center;gap:12px;padding:16px 14px;border:1px solid var(--line);background:#fffdfc;border-radius:14px;transition:border-color .2s,background .2s,box-shadow .2s;min-height:87px}
.payment-choice-ui>span:not(.icon){display:grid;gap:4px;flex:1;min-width:0}.payment-choice-ui strong{font-weight:800;font-size:13px;color:var(--ink)}.payment-choice-ui small{font-size:11px;color:var(--muted);line-height:1.3}
.payment-choice-ui>.icon{display:none;color:var(--plum);font-size:18px}
.payment-choice input:checked+.payment-choice-ui{background:#fff0f4;border-color:var(--plum);box-shadow:0 0 0 1px var(--plum)}.payment-choice input:checked+.payment-choice-ui>.icon{display:block}
.payment-choice input:focus-visible+.payment-choice-ui{outline:3px solid #c8849a;outline-offset:3px}
.payment-symbol{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-size:18px;flex:none;color:white}
.payment-symbol .icon{font-size:24px}.payment-symbol.yape-mark{background:#662288}.payment-symbol.plin-mark{background:#03a5bb}.payment-symbol.wa-mark{background:#25a765}.payment-symbol.card-mark{background:#31232d}
.payment-active-panel{border:1px solid #ebd4d8;border-radius:16px;background:linear-gradient(130deg,#fffaf8,#fff1f4);padding:24px;margin-bottom:17px}
.payment-active-panel[hidden]{display:none!important}.payment-qr-layout{display:flex;align-items:center;gap:24px}.payment-qr-frame{background:white;padding:13px;border-radius:15px;box-shadow:0 5px 19px #33212511;flex:0 0 177px;text-align:center}.payment-qr-frame svg{width:150px;height:150px;display:block;margin:auto}.payment-qr-frame small{display:block;color:#9c6b80;font-size:9px;margin-top:10px}
.payment-copy h3{font:600 25px/1.2 'Playfair Display',Georgia,serif;margin:10px 0 12px}.payment-copy p{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 8px}
.payment-upload{margin-top:18px;border:1px dashed #bd7893;border-radius:12px;background:white;padding:14px 15px;display:grid;gap:7px;cursor:pointer}.payment-upload>span{display:flex;gap:8px;align-items:center;color:var(--plum);font-size:13px;font-weight:800}.payment-upload .icon{font-size:19px}.payment-upload input{max-width:100%;font-size:11px}.payment-upload small{font-size:11px;color:var(--muted);overflow-wrap:anywhere}
.payment-note{padding:10px 12px;background:#fff;border-radius:9px}.fake-card{margin:20px 0;border-radius:18px;padding:25px 28px;color:#fff;background:linear-gradient(135deg,#30232c,#873e58 76%,#b8869a);box-shadow:0 11px 28px #4e243744;max-width:415px;display:grid;gap:22px}.fake-card-top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:2px;font-weight:800}.fake-card strong{font-size:22px;letter-spacing:2px}.fake-card small{color:#ffe9f4}
.payment-test-row{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.payment-test-row label{font-size:12px;font-weight:750}.payment-test-row select{border:1px solid #dcb9c6;border-radius:10px;padding:10px 13px;background:white;color:var(--ink);flex:1}
.payment-warning{border:1px solid #ead4da;background:#fff7f2;padding:12px 15px;border-radius:12px;display:flex;gap:11px;align-items:flex-start;margin-bottom:22px}.payment-warning .icon{flex:none;font-size:19px;color:var(--plum)}.payment-warning p{margin:0;font-size:11px;line-height:1.55;color:#765666}
.payment-summary .summary-line{align-items:start;gap:9px}.payment-summary .summary-line>span{max-width:75%;line-height:1.3}.payment-summary .summary-line strong{font-size:12px;white-space:nowrap}
@media(max-width:1040px){.payment-layout{grid-template-columns:1fr}.payment-summary{order:-1;position:static}}
@media(max-width:760px){.payment-options{grid-template-columns:1fr 1fr}.payment-qr-layout{align-items:flex-start}.card-quantity{font-size:10px}.card-qty-picker button{width:28px}.card-qty-picker input{width:33px}}
@media(max-width:520px){.toast-region{top:9px;width:calc(100vw - 20px)}.card-quantity{flex-direction:column;gap:4px;align-items:stretch}.card-qty-picker{width:100%;justify-content:space-between}.card-qty-picker button{flex:1}.card-qty-picker input{flex:0 0 38px}.payment-choice-ui{padding:12px 9px;gap:8px;min-height:85px}.payment-choice-ui strong{font-size:11px}.payment-choice-ui small{font-size:10px}.payment-symbol{width:34px;height:34px;font-size:15px}.payment-active-panel{padding:15px}.payment-qr-layout{flex-direction:column;align-items:center}.payment-qr-frame{flex:auto;width:177px}.payment-copy{width:100%}.payment-copy h3{font-size:22px}.page-btn{min-width:35px;height:37px;padding:0 9px}.page-nav{font-size:11px}.catalog-pagination{gap:5px}}
@media(prefers-reduced-motion:reduce){.page-btn,.card-qty-picker button{transition:none}}
/* Evita que las categorías con scroll ensanchen el grid en pantallas estrechas. */
.catalog-layout > .filter-panel,.catalog-layout > .catalog-content{min-width:0;max-width:100%}
.catalog-content .category-chips{min-width:0;max-width:100%}
@media(max-width:1050px){.catalog-layout{grid-template-columns:minmax(0,1fr)}}
/* Centrado absoluto incluso cuando aparece el scrollbar del navegador. */
.toast-region{left:0;right:0;transform:none;margin-inline:auto}
@media(max-width:520px){.toast-region{left:10px;right:10px;width:auto;max-width:none;margin:0;transform:none}}
