/* Catalog-specific layout. Shared branding comes from home.css. */
.catalog-page{min-height:100vh;display:flex;flex-direction:column}
.catalog-page .page-wrap{width:100%;max-width:1280px;padding:26px 30px 48px;flex:1}
.catalog-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;color:#607787;font-size:12px;margin-bottom:20px}
.catalog-breadcrumbs a:hover{text-decoration:underline;color:var(--navy)}
.catalog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.catalog-heading h1{font-size:30px;line-height:1.2;color:var(--navy);margin:0 0 7px}
.catalog-heading p{margin:0;color:#46667c;font-size:14px}
.catalog-heading .button{font-size:12px;padding:9px 18px}
.catalog-page .result-note{margin:0 0 20px;padding:13px 16px;background:#e8f4f5;border:1px solid #d9ebee;border-radius:12px;color:#345b70;font-size:13px;overflow-wrap:anywhere}
.catalog-page .produk-grid{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible;scroll-snap-type:none;gap:16px;padding:0}
.catalog-page .produk-card{position:relative;padding:12px;border:1px solid #e5eff2;border-radius:15px;box-shadow:0 5px 18px #12597508;transition:box-shadow .15s}
.catalog-page .produk-card:hover{box-shadow:0 8px 24px #12597518}
.catalog-page .produk-img-wrap{height:auto;aspect-ratio:1;overflow:hidden;border-radius:10px;background:#fff}
.catalog-page .produk-body{padding:8px 0 0}
.catalog-page .produk-kategori{display:none}
.catalog-page .produk-nama{font-size:13px;line-height:1.4;min-height:37px;margin:4px 0 0;overflow-wrap:anywhere}
.catalog-page .produk-harga{font-size:14px;margin:6px 0;color:#00664e}
.catalog-page .satuan{font-size:11px;color:#526d7d}
.catalog-page .produk-harga.unavailable{font-size:12px;color:#607787}
.catalog-page .produk-stok{font-size:11px;margin:0 0 10px;color:#128048}
.catalog-page .produk-stok.habis{color:#856039}
.catalog-page .produk-cart-btn{min-height:42px;font-size:13px;border-radius:8px}
.catalog-page .empty-state{padding:54px 20px;background:white;border:1px solid #e0ecef;border-radius:16px;text-align:center;color:var(--navy)}
.catalog-page .empty-state p{margin:0 0 16px;color:#526d7d}
.wa-consult-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;background:#099b43;color:white;border:0;border-radius:26px;min-height:46px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer}
.wa-consult-btn:hover{background:#087c39}.wa-consult-btn svg{width:20px;height:20px;flex-shrink:0;fill:currentColor}
.catalog-page .error-banner{border:1px solid #f1d4cd}
.catalog-page .site-footer{margin-top:auto}
.catalog-page #toast{background:var(--navy);color:white}.catalog-page #toast.error{background:#a13227}
@media(max-width:1100px){.catalog-page .produk-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.catalog-page .produk-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:640px){.catalog-page .page-wrap{padding:20px 16px 32px}.catalog-heading{display:block;margin-bottom:20px}.catalog-heading h1{font-size:26px}.catalog-heading p{font-size:13px}.catalog-heading .button{margin-top:14px}.catalog-page .produk-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-page .produk-card{padding:10px}.catalog-page .produk-nama{font-size:12px}.catalog-page .produk-harga{font-size:13px}.catalog-page .produk-cart-btn{min-height:44px}.catalog-page .site-footer{padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.catalog-page .produk-card{transition:none}}
