/* Catalogue layout shared by the static page and the admin-rendered catalogue. */
.catalogue-page .catalogue-hero { min-height:0; padding:36px 0 30px; background:#f3f6fb; }
.catalogue-page .catalogue-hero .wrap { max-width:1240px; text-align:left; }
.catalogue-page .catalogue-hero .tag { font-size:10px; letter-spacing:1.5px; }
.catalogue-page .catalogue-hero h1 { max-width:none; font-size:clamp(30px,4vw,46px); line-height:1.15; margin:14px 0 12px; }
.catalogue-page .catalogue-hero p { max-width:720px; margin:0; font-size:15px; line-height:1.7; }
.catalogue-page .catalogue-hero .motion-reveal { opacity:1; transform:none; }
.catalogue-page #products { padding-top:28px; background:#f8fafc; }
.catalogue-page .catalogue-panel { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px); gap:18px 24px; padding:22px; margin-bottom:26px; border:1px solid #dce4ef; border-radius:16px; background:#fff; box-shadow:0 4px 18px #14263e05; }
.catalogue-page .product-search-wrap { width:100%; max-width:none; margin:0; }
.catalogue-page .product-search-box { min-height:50px; border-radius:10px; }
.catalogue-page #productSearch { padding:14px 12px; font-size:15px; min-width:0; }
.catalogue-page .search-meta { text-align:left; margin:8px 0 0; font-size:12px; }
.catalogue-page .catalogue-controls { max-width:none; margin:0; align-items:flex-start; gap:10px; }
.catalogue-page .brand-control { width:100%; flex:1; min-width:0; }
.catalogue-page .brand-control label { display:block; margin:0 0 6px; font-size:12px; }
.catalogue-page #brandFilter { width:100%; min-height:44px; border-radius:9px; font-size:14px; }
.catalogue-page #brandFilterHint { font-size:11px; margin:6px 0 0; }
.catalogue-page .catalogue-reset { padding:10px; margin-top:22px; white-space:nowrap; font-size:12px; }
.catalogue-page .product-toolbar { grid-column:1/-1; justify-content:flex-start; gap:8px; margin:0; padding-top:16px; border-top:1px solid #edf1f6; }
.catalogue-page .filter-btn { min-height:42px; padding:9px 14px; font-size:12px; border-radius:10px; }
.catalogue-page .hot-sale-filter { padding:7px 11px; }
.catalogue-page .product-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:stretch; }
.catalogue-page .product-card { min-width:0; display:flex; flex-direction:column; border-radius:14px; box-shadow:0 3px 12px #14263e05; }
.catalogue-page .product-card.is-hidden,.catalogue-page .product-card[hidden] { display:none; }
.catalogue-page .product-card:hover { transform:translateY(-3px); }
.catalogue-page .product-image { height:auto; aspect-ratio:4/3; padding:14px; flex-shrink:0; cursor:pointer; }
.catalogue-page .product-info { padding:16px; flex:1; min-height:0; }
.catalogue-page .product-info h3 { font-size:16px; line-height:1.4; margin:12px 0 6px; overflow-wrap:anywhere; }
.catalogue-page .product-info > p:not(.stock-status) { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:12px; line-height:1.65; margin:8px 0 16px; }
.catalogue-page .product-info .stock-status { font-size:11px; margin:0 0 5px; }
.catalogue-page .product-category { font-size:10px; padding:5px 8px; }
.catalogue-page .product-bottom { flex-direction:column; align-items:stretch; gap:12px; padding-top:14px; }
.catalogue-page .price { gap:4px; }
.catalogue-page .price strong { font-size:14px; }
.catalogue-page .product-actions { display:grid; grid-template-columns:1fr 1fr; gap:7px; width:100%; }
.catalogue-page .details-product,.catalogue-page .whatsapp-product { display:flex; align-items:center; justify-content:center; min-height:42px; padding:10px 6px; font-size:11px; border-radius:8px; text-align:center; white-space:normal; }
.catalogue-page .no-product-results { grid-column:1/-1; }
@media(max-width:1050px) { .catalogue-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
 .catalogue-page .catalogue-panel { grid-template-columns:minmax(0,1fr); padding:16px; gap:16px; }
 .catalogue-page .catalogue-hero { padding:26px 0; }
 .catalogue-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .catalogue-page .product-info { padding:12px; }
 .catalogue-page .product-info h3 { font-size:14px; }
 .catalogue-page .product-image { padding:8px; }
 .catalogue-page .catalogue-controls { flex-direction:row; }
 .catalogue-page .product-toolbar { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; justify-content:flex-start; }
 .catalogue-page .filter-btn { flex-shrink:0; }
 .catalogue-page .product-actions { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:360px) { .catalogue-page .product-grid { grid-template-columns:minmax(0,1fr); } }
