/* B.P.M — CSS Catalogue */
.page-header{position:relative;background:linear-gradient(135deg,var(--fond-sombre),#3d1a04);padding:80px 24px 60px;text-align:center;overflow:hidden}
.page-header-bg{position:absolute;inset:0;opacity:.06;background-image:repeating-linear-gradient(45deg,var(--or) 0,var(--or) 1px,transparent 0,transparent 20px);background-size:20px 20px}
.page-header-content{position:relative;z-index:1}
.page-title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:44px;color:#fff;margin:8px 0 12px}
.page-sub{font-family:'Playfair Display',serif;font-style:italic;font-size:17px;color:var(--or-clair)}
.catalogue-toolbar{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.search-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(212,164,55,.3);border-radius:var(--radius-full);padding:10px 18px;min-width:260px;flex:1}
.search-box i{color:var(--or-fonce);font-size:18px}
.search-box input{border:none;outline:none;font-family:'Lora',serif;font-size:14px;color:var(--texte-fonce);background:none;width:100%}
.cat-filters{display:flex;flex-wrap:wrap;gap:8px}
.cat-btn{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid rgba(212,164,55,.25);border-radius:var(--radius-full);padding:8px 16px;font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--texte-moyen);cursor:pointer;transition:var(--transition)}
.cat-btn:hover{border-color:var(--rouge);color:var(--rouge)}
.cat-btn.active{background:var(--rouge);border-color:var(--rouge);color:#fff}
.catalogue-meta{margin-bottom:20px}
.catalogue-meta span{font-family:'Montserrat',sans-serif;font-size:12px;font-weight:700;color:var(--texte-moyen);letter-spacing:1px;text-transform:uppercase}
.catalogue-empty{text-align:center;padding:40px;font-family:'Lora',serif;color:var(--texte-moyen);font-size:16px}
.product-card.unavailable{opacity:.6}
.product-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:700;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:var(--transition)}
.product-modal-overlay.open{opacity:1;visibility:visible}
.product-modal{background:var(--blanc-casse);border-radius:var(--radius-xl);max-width:520px;width:100%;overflow:hidden;transform:scale(.9);transition:transform .3s ease;position:relative}
.product-modal-overlay.open .product-modal{transform:scale(1)}
.modal-close{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.3);color:#fff;border:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;z-index:1}
.modal-img{height:200px;display:flex;align-items:center;justify-content:center;font-size:80px;position:relative}
.modal-body{padding:20px 24px 24px}
.modal-title{font-family:'Montserrat',sans-serif;font-weight:900;font-size:22px;margin:6px 0 10px}
.modal-desc{font-family:'Lora',serif;font-size:14px;color:var(--texte-moyen);line-height:1.7;margin-bottom:20px}
.modal-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.modal-qty{display:flex;align-items:center;gap:10px}
.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(212,164,55,.4);background:#fff;font-size:18px;font-weight:700;color:var(--texte-fonce);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}
.qty-btn:hover{background:var(--or);border-color:var(--or)}
#qtyVal{font-family:'Montserrat',sans-serif;font-weight:700;font-size:16px;min-width:20px;text-align:center}
