/* Waltmann Produktkategorien – minimalistisches Kachelraster.
   Schriftgrößen bleiben ausschließlich in dist/css/header.css definiert. */
.wm-catalog { background:#f9f8f5; color:#302e2a; padding:48px 0 76px; }
.wm-catalog-shell { width:min(1200px,100%); margin:0 auto; padding:0 20px; }
.wm-catalog-intro { max-width:740px; margin:0 0 38px; }
.wm-catalog-eyebrow { color:#786956; font-weight:650; letter-spacing:.15em; text-transform:uppercase; margin:0 0 12px; }
.wm-catalog-intro h2 { color:#292823; font-weight:600; line-height:1.2; margin:0 0 14px; }
.wm-catalog-intro > p:last-child { color:#6c675f; line-height:1.75; margin:0; }
.wm-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.wm-catalog-card { display:block; min-width:0; overflow:hidden; background:#fffdfa; border:1px solid #e6e0d7; border-radius:12px; text-decoration:none !important; color:#302e2a !important; box-shadow:0 3px 16px rgba(46,39,30,.035); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.wm-catalog-card:hover,.wm-catalog-card:focus-visible { transform:translateY(-3px); box-shadow:0 12px 28px rgba(46,39,30,.10); border-color:#c7b9a6; outline-offset:3px; }
.wm-catalog-image { display:block; aspect-ratio: 4 / 3; overflow:hidden; background:#eeeae3; }
.wm-catalog-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.wm-catalog-card:hover .wm-catalog-image img { transform:scale(1.035); }
.wm-catalog-caption { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:19px 22px; }
.wm-catalog-name { font-weight:600; line-height:1.4; }
.wm-catalog-arrow { flex:none; color:#786956; font-weight:600; }
@media(max-width:991px) { .wm-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } }
@media(max-width:600px) { .wm-catalog { padding:32px 0 48px; } .wm-catalog-shell { padding:0 14px; } .wm-catalog-grid { grid-template-columns:1fr; gap:16px; } .wm-catalog-intro { margin-bottom:26px; } .wm-catalog-caption { min-height:68px; padding:15px 18px; } }
@media(prefers-reduced-motion:reduce) { .wm-catalog-card,.wm-catalog-image img { transition:none; } }
