/* GBN Category Cards — 2-up product cards with quantity, hover, dividers, uniform images */
.gbn-archive { max-width: 1180px; margin: 0 auto; padding: 10px 12px; }
.gbn-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; align-items:start; }
@media (max-width: 767px) { .gbn-grid { grid-template-columns: 1fr; } }

.gbn-card { background:#fff; border:1px solid #e9edf3; border-radius:14px; overflow:hidden; box-shadow:0 8px 18px rgba(16,24,40,.06); position:relative; }
.gbn-card:after { content:""; display:block; height:1px; background:linear-gradient(to right, transparent, #e8e2c9 25%, #e8e2c9 75%, transparent); margin:0 10px; }

.gbn-img-link { display:block; position:relative; }
.gbn-img-box { display:block; aspect-ratio: 4/3; background:#f8fafc; position:relative; }
.gbn-img { position:absolute; inset:12px; width:auto; height:auto; max-width:calc(100% - 24px); max-height:calc(100% - 24px); object-fit:contain; }
.gbn-img-hover { position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .25s ease; }
.gbn-img-link:hover .gbn-img-hover { background:rgba(0,0,0,.04); }

.gbn-card-body { padding:16px 16px 18px; display:flex; flex-direction:column; gap:10px; }
.gbn-title { font-size:16px; line-height:1.2; margin:0; color:#0f172a; }
.gbn-desc p { margin:.25rem 0; color:#475569; }

.gbn-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px; }
.gbn-price { font-weight:700; font-size:20px; color:#0f172a; }
.gbn-stock.ok { color:#15803d; font-weight:600; }
.gbn-stock.no { color:#b91c1c; font-weight:600; }

.gbn-buyrow { display:flex; align-items:center; gap:12px; margin-top:2px; }
.gbn-qty { display:flex; align-items:center; border:1px solid #d9dee7; border-radius:10px; overflow:hidden; }
.gbn-qty-btn { background:#f8fafc; border:none; width:36px; height:36px; font-size:18px; cursor:pointer; }
.gbn-qty-btn:disabled { opacity:.5; cursor:not-allowed; }
.gbn-qty-input { width:56px; height:36px; border:0; text-align:center; font-weight:600; outline:none; }
.gbn-addtocart { background:#d4af37; color:#fff; border:0; border-radius:10px; padding:10px 18px; font-weight:700; cursor:pointer; box-shadow:0 4px 12px rgba(212,175,55,.25); transition:transform .08s ease, opacity .2s ease; white-space:nowrap; }
.gbn-addtocart:hover { opacity:.95; }
.gbn-addtocart:active { transform:translateY(1px); }
.gbn-addtocart.busy { opacity:.6; pointer-events:none; }

.gbn-loadmore-wrap { display:flex; justify-content:center; padding:18px 0 8px; }
.gbn-loadmore { background:#fff; color:#0f172a; border:1px solid #d9dee7; border-radius:999px; padding:10px 18px; font-weight:600; cursor:pointer; }

/* Lightbox */
.gbn-lightbox{ position:fixed; inset:0; background:rgba(15,23,42,.8); display:flex; align-items:center; justify-content:center; z-index:9999; }
.gbn-lightbox-img{ max-width:90vw; max-height:90vh; border-radius:10px; box-shadow:0 12px 40px rgba(0,0,0,.45); }
.gbn-lightbox-close{ position:absolute; top:20px; right:24px; width:40px; height:40px; border-radius:999px; border:none; background:#fff; font-size:26px; cursor:pointer; }
.gbn-lightbox-nav{ position:absolute; top:50%; transform:translateY(-50%); width:46px; height:46px; border-radius:999px; border:none; background:#fff; font-size:28px; cursor:pointer; }
.gbn-lightbox-nav.prev{ left:24px; }
.gbn-lightbox-nav.next{ right:24px; }
