.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.product-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.product-image{aspect-ratio:1/1;position:relative;isolation:isolate;background:#eee;overflow:hidden}.product-image-link{display:block;position:absolute;inset:0}.product-image img{width:100%;height:100%;object-fit:cover;display:block}.discount{position:absolute;z-index:2;left:11px;top:11px;background:var(--green);color:#fff;font-size:11px;font-weight:700;padding:6px 8px;border-radius:3px}.wish{position:absolute;right:8px;top:8px;z-index:3;width:40px;height:40px;border-radius:50%;background:#fff;font-size:22px}.wish.active{color:#b33}.quick{position:absolute;z-index:3;bottom:10px;left:10px;right:10px;height:34px;background:#fff;border-radius:3px;font-size:10px;font-weight:700;display:grid;place-items:center;opacity:0;transition:.2s}.product-card:hover .quick{opacity:1}.product-info{padding:16px}.product-cat{font-size:11px;text-transform:uppercase;color:var(--green);letter-spacing:.1em;font-weight:700}.product-info h3{font:600 17px Georgia;margin:7px 0;overflow-wrap:break-word}.rating{font-size:11px;letter-spacing:2px}.rating small{letter-spacing:0;color:#999}.price{display:flex;flex-wrap:wrap;gap:2px 8px;align-items:baseline;margin:12px 0}.price strong{font-size:19px;white-space:nowrap}.price del{font-size:12px;color:#999;white-space:nowrap}.product-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}.product-actions button{height:44px;border-radius:3px;font-size:12px;font-weight:700}.add{background:#fff;border:1px solid var(--ink)!important}.buy{background:var(--green);color:#fff}.no-results{text-align:center;padding:35px;color:var(--muted)}.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,60px);align-items:start}.detail-image img{width:100%;max-height:600px;object-fit:cover;border-radius:15px}.detail-copy h1{font:500 clamp(30px,4.2vw,45px) Georgia;margin:10px 0}.detail-copy p{color:var(--muted);line-height:1.8}.quantity{display:flex;margin:20px 0}.quantity button,.quantity input{height:42px;width:42px;border:1px solid var(--line);background:#fff;text-align:center}.category-hero{display:grid;grid-template-columns:minmax(0,1fr) 40%;background:#fff;border-radius:18px;overflow:hidden;align-items:center;margin-bottom:55px}.category-hero>div{padding:50px}.category-hero img{width:100%;height:260px;object-fit:cover}
@media(max-width:760px){.product-image{aspect-ratio:1/1}}

/* ---- Live stock, single-action card, reviews (added) ---- */
.product-actions{grid-template-columns:minmax(0,1fr)}
.product-actions button:disabled{opacity:.55;cursor:not-allowed}
.stock-status{display:inline-block;margin:2px 0 6px;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px}
.stock-high{background:#e6f2e8;color:#1f6b46}.stock-medium{background:#fff3d6;color:#8a6200}
.stock-low{background:#ffe7d6;color:#a54a00}.stock-out{background:#f3dede;color:#a52a2a}
.detail-copy .stock-status{font-size:13px;padding:4px 12px;margin:6px 0 10px}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.cart-qty button:disabled{opacity:.35;cursor:not-allowed}
.reviews-section{max-width:1100px;margin:34px auto 0;padding:0 16px}
.reviews-section h2{font-size:22px;margin:0 0 14px}
.review-summary{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.review-summary .big{font-size:38px;font-weight:700}.review-summary .stars{color:#e89b0c;letter-spacing:2px}
.review-list{display:grid;gap:12px}
.review-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.review-item .stars{color:#e89b0c;letter-spacing:2px;font-size:14px}
.review-item .meta{font-size:12px;color:var(--muted);margin:2px 0 8px}
.review-item .verified{color:#1f6b46;font-weight:700}
.review-item img.review-photo{display:block;max-width:180px;max-height:180px;border-radius:10px;margin-top:10px;border:1px solid var(--line);object-fit:cover}
.review-form{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:20px;display:grid;gap:12px}
.review-form textarea,.review-form select,.review-form input[type=file]{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit}
.review-form textarea{min-height:110px;resize:vertical}
.star-input{display:inline-flex;flex-direction:row-reverse;gap:4px}
.star-input input{position:absolute;opacity:0;pointer-events:none}
.star-input label{font-size:28px;color:#ccc;cursor:pointer}
.star-input input:checked~label,.star-input label:hover,.star-input label:hover~label{color:#e89b0c}
.review-note{padding:10px 12px;border-radius:8px;background:#f3f2ec;font-size:14px}
.review-note.ok{background:#e6f2e8;color:#1f6b46}.review-note.err{background:#f3dede;color:#a52a2a}

/* ---- Product action buttons (colours/text/ON-OFF come from Admin → Product Buttons) ---- */
.product-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.product-actions .buy{background:var(--pb-bg,#171715);color:var(--pb-fg,#fff);border:1px solid var(--pb-bg,#171715)!important;cursor:pointer}
.pb-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:14px 0 4px;max-width:520px}
.pb-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:0;border-radius:6px;background:var(--pb-bg,#4f654b);color:var(--pb-fg,#fff);font:700 13px/1.2 inherit;text-align:center;text-decoration:none;cursor:pointer;transition:filter .2s}
.pb-btn:hover{filter:brightness(1.08)}
.pb-btn.pb-off,.pb-btn:disabled{background:#c9c7bf;color:#fff;cursor:not-allowed;filter:none}
@media(max-width:480px){.pb-grid{gap:8px}.pb-btn{min-height:42px;font-size:12px;padding:8px}}

/* ---- Product page: slightly smaller image, brand box, call button on all devices ---- */
.detail-gallery{justify-content:center}
.detail-gallery .gallery-main{max-width:420px}
.detail-gallery .gallery-main-image{padding:12px;box-sizing:border-box;object-fit:contain}
.brand-box{display:inline-flex;align-items:center;gap:10px;margin-top:12px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:14px}
.brand-box img{display:block;height:30px;width:auto;max-width:120px;object-fit:contain}
.brand-box strong{font-weight:600}
.pb-call{display:flex}
/* Tablet / small laptop: stack the product page, centre the gallery so it is balanced */
@media(max-width:900px){.product-detail{grid-template-columns:minmax(0,1fr);gap:25px}.detail-gallery .gallery-main{max-width:min(520px,100%)}}
@media(max-width:640px){.detail-gallery .gallery-main{max-width:100%}.brand-box img{height:26px}}
