.page-hero{padding:calc(var(--nav-h) + 3.5rem) 5vw 3rem;background:var(--dark-2);text-align:center}
[data-theme="dark"] .page-hero{background:#0A0F1E}
.page-hero .section-tag{color:var(--blue-light)}
.page-hero .section-title{color:#fff}
.page-hero p{color:rgba(255,255,255,0.6);font-size:1rem;max-width:560px;margin:0.5rem auto 0}
.filters-bar{position:sticky;top:var(--nav-h);z-index:100;background:var(--white);border-bottom:1px solid rgba(25,118,210,0.1);padding:1rem 5vw;display:flex;gap:0.6rem;flex-wrap:wrap;backdrop-filter:blur(8px)}
[data-theme="dark"] .filters-bar{background:rgba(15,23,42,0.97)}
.filter-btn{padding:7px 16px;border-radius:20px;border:1.5px solid rgba(25,118,210,0.2);font-size:0.78rem;font-weight:500;letter-spacing:0.04em;color:var(--mid);cursor:pointer;transition:all var(--transition);background:var(--white)}
[data-theme="dark"] .filter-btn{background:var(--dark-2);color:var(--mid)}
.filter-btn:hover,.filter-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}
.count-badge{font-size:0.68rem;background:rgba(255,255,255,0.25);border-radius:10px;padding:1px 6px;margin-left:3px}
.filter-btn:not(.active) .count-badge{background:rgba(25,118,210,0.1);color:var(--blue)}
.catalogue-section{padding:3rem 5vw 5rem;max-width:1400px;margin:0 auto}
.results-info{font-size:0.85rem;color:var(--grey);margin-bottom:1.5rem}
.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.product-card{background:var(--white);border-radius:var(--radius);overflow:hidden;border:1px solid rgba(25,118,210,0.08);transition:transform var(--transition),box-shadow var(--transition);display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.product-card.hidden{display:none}
.card-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--light-grey)}
.card-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform 0.5s cubic-bezier(0.4,0,0.2,1)}
.product-card:hover .card-img-wrap img{transform:scale(1.06)}
.card-cat-badge{position:absolute;top:10px;left:10px;background:rgba(25,118,210,0.9);color:#fff;font-size:0.65rem;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;padding:3px 10px;border-radius:2px}
.card-body{padding:1.25rem;display:flex;flex-direction:column;gap:0.75rem;flex:1}
.card-body h3{font-family:var(--font-display);font-size:1.3rem;font-weight:400;color:var(--dark);line-height:1.2}
.card-prix{font-size:1rem;font-weight:600;color:var(--blue)}
.card-prix.sur-devis{color:var(--grey);font-size:0.85rem;font-style:italic;font-weight:400}
.card-btn{margin-top:auto;display:block;padding:9px 18px;background:var(--blue);color:#fff;font-size:0.78rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;border-radius:2px;transition:background var(--transition);text-align:center}
.card-btn:hover{background:var(--blue-dark)}
@media(max-width:1024px){.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.products-grid{grid-template-columns:1fr}.filters-bar{gap:0.4rem}.filter-btn{font-size:0.72rem;padding:6px 12px}}
