/* Catalogue and product detail layouts follow the approved homepage. */
.catalogue-page{background:#fff}.catalogue-page .page-header{background:#f6f3eb;padding:45px 0}.catalogue-page .page-header h1{font-weight:600;letter-spacing:-.03em}.catalogue-page .section{padding:45px 0}.catalogue-page .section-title{font-size:28px;font-weight:600}.catalogue-page .section-lead{font-size:14px;margin-bottom:25px}.catalogue-page .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.catalogue-page .brand-card,.catalogue-page .sku-card{min-width:0;overflow-wrap:anywhere;border-radius:8px;padding:20px;box-shadow:none;display:flex;flex-direction:column}.catalogue-page .brand-card h3{font-size:19px}.catalogue-page .brand-card p{font-size:13px}.catalogue-page .brand-card .brand-img,.catalogue-page .sku-thumb{background:linear-gradient(135deg,var(--sand-100),var(--green-50));height:255px;aspect-ratio:auto;flex-shrink:0}.catalogue-page .brand-card .brand-img img,.catalogue-page .sku-thumb img{background:transparent;mix-blend-mode:multiply;padding:20px}.catalogue-page .sku-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalogue-page .sku-meta{color:#626b61}.catalogue-page .sku-meta span{white-space:normal}.catalogue-page .brand-name{font-size:11px!important}.catalogue-page .since{color:#646e61!important}.catalogue-page .cat-nav{position:static}.catalogue-page [hidden]{display:none!important}
.catalogue-controls{padding:24px 0;border-bottom:1px solid #dedfd6;background:var(--sand-100)}.filter-fields{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:16px}.filter-fields label{font-size:12px;font-weight:600;color:#405443;display:block}.filter-fields input,.filter-fields select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #bec8b8;border-radius:5px;background:#fff;color:#243b2b;font:inherit;min-height:46px}.filter-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:16px;align-items:center;font-size:13px;color:#5e6c60}.filter-bottom button{background:none;border:0;text-decoration:underline;color:#173f32;padding:8px;font:inherit}.catalogue-empty{padding:35px 0;color:#52624f}.catalogue-links{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto;padding-top:18px;border-top:1px solid #e0e3d9;font-size:13px;color:#173f32}.catalogue-links a{text-decoration:underline;text-underline-offset:4px}.catalogue-page .sku-card .catalogue-links{margin-top:18px}.catalogue-page .search-empty{display:none}.catalogue-page .sku-cat-title{scroll-margin-top:100px}
.detail-page{background:#fff}.detail-wrap{max-width:1240px;margin:auto;padding:0 24px}.detail-crumb{font-size:12px;color:#637261;padding:24px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:15px 0 65px}.detail-photo{background:#f5f5ef;border-radius:8px;display:grid;place-items:center;min-height:520px}.detail-photo img{width:100%;height:490px;object-fit:contain;mix-blend-mode:multiply;padding:35px}.detail-copy{padding:20px 0}.detail-copy h1{font-size:36px;font-weight:600;line-height:1.4;margin:14px 0}.detail-copy p{color:#637261;font-size:14px}.detail-copy .eyebrow{font-size:11px;letter-spacing:.12em}.detail-specs{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid #dedfd6;border-bottom:1px solid #dedfd6;padding:20px 0;margin:24px 0}.detail-specs dt{font-size:12px;color:#62725f}.detail-specs dd{font-size:16px;margin:6px 0 0}.detail-quantity{display:flex;gap:14px;align-items:end;margin:18px 0}.detail-quantity label{font-size:13px;flex:1}.detail-quantity input,.detail-quantity select{display:block;width:100%;font:inherit;padding:11px;margin-top:8px;border:1px solid #b8c3b1;border-radius:5px;background:white}.detail-copy .btn{border-radius:5px}.detail-submit{width:100%;justify-content:center;margin:15px 0}.quantity-note{min-height:24px;font-size:13px}.quantity-note.error{color:#a52b24}.detail-contact{text-align:center}.detail-contact a{text-decoration:underline}.detail-section{padding:45px 0;border-top:1px solid #dedfd6}.detail-section h2{font-size:27px;font-weight:600}.detail-section p{margin:15px 0;color:#61705e}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}.related-card{border:1px solid #dedfd6;border-radius:8px;padding:22px;display:flex;gap:22px;align-items:center}.related-card img{height:150px;width:120px;object-fit:contain}.related-card span{display:block;color:#64735f;font-size:13px;margin-top:8px}.detail-other{background:#f6f3eb;padding:28px;border-radius:8px;margin-bottom:40px}.detail-other a{text-decoration:underline}.prefill-note{padding:12px 16px;background:#eef3e5;border-left:3px solid #527346;margin-bottom:20px;font-size:14px}
@media(max-width:960px){.filter-fields{grid-template-columns:1fr 1fr}.catalogue-page .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogue-page .sku-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-grid{gap:30px}.detail-copy h1{font-size:30px}}
@media(max-width:640px){.catalogue-page .brand-grid{grid-template-columns:1fr}.filter-fields{gap:12px}.filter-fields label:first-child{grid-column:1/-1}.filter-fields label:last-child{grid-column:1/-1}.catalogue-page .sku-grid{grid-template-columns:1fr}.detail-grid{grid-template-columns:1fr}.detail-photo{min-height:330px}.detail-photo img{height:330px}.related-grid{grid-template-columns:1fr}.detail-copy h1{font-size:29px}.filter-bottom{align-items:start}.catalogue-page .page-header h1{font-size:32px}}
.catalogue-page .vermicelli-card .sku-thumb{height:auto;aspect-ratio:1076/1522;background:#fff;display:block}
.catalogue-page .vermicelli-card .sku-thumb img{width:100%;height:100%;object-fit:contain;padding:0;mix-blend-mode:normal}
.vermicelli-image-link{font-size:12px;text-decoration:underline;margin:10px 0}
/* Prevent intrinsic image size from expanding a grid track beyond its frame. */
.catalogue-page .brand-card .brand-img,.catalogue-page .sku-card .sku-thumb{display:flex;align-items:center;justify-content:center}
.catalogue-page .brand-card .brand-img img,.catalogue-page .sku-card .sku-thumb img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center;box-sizing:border-box;flex:0 1 auto}
.catalogue-page .vermicelli-card .sku-thumb{display:block}
/* Match visible package height without changing the original product photos. */
.catalogue-page .sku-card .normalized-photo{position:relative;overflow:hidden}
.catalogue-page .sku-card .normalized-photo img{position:absolute;max-width:none;max-height:none;padding:0;object-fit:fill}
.catalogue-page .sku-card .catalogue-links{margin-top:auto}
.catalogue-page .sku-card .sku-meta{margin-bottom:18px}
/* Weight badge: reuses the homepage hero's circular "50 / KG-SACK" mark, sized down for a grid thumbnail. */
.catalogue-page .brand-card .brand-img,.catalogue-page .sku-card .sku-thumb{position:relative}
.catalogue-page .weight-badge{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;background:var(--green-900);color:#f4ecd9;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 6px rgba(15,61,36,.28);z-index:2;pointer-events:none}
.catalogue-page .weight-badge .n{font-weight:800;font-size:13px}
.catalogue-page .weight-badge .u{font-size:7px;letter-spacing:.03em;text-transform:uppercase;opacity:.85;margin-top:1px}
.catalogue-page .weight-badge-compact .n{font-size:10.5px}
.catalogue-page .weight-badge-compact .u{font-size:6px}
@media(max-width:640px){.catalogue-page .weight-badge{width:36px;height:36px}.catalogue-page .weight-badge .n{font-size:11px}.catalogue-page .weight-badge-compact .n{font-size:9px}}
/* Sticky mobile quote bar: keeps the running quote-list count visible while browsing, since the top nav scrolls away on a long catalogue. */
.catalogue-page .quote-sticky-bar{display:none}
@media(max-width:640px){
  .catalogue-page .quote-sticky-bar{position:fixed;left:12px;right:12px;bottom:14px;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--green-900);color:#f4ecd9;text-decoration:none;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:600;box-shadow:0 8px 24px rgba(15,61,36,.28)}
  .catalogue-page .quote-sticky-count{font-weight:800}
  .catalogue-page .quote-sticky-go{color:#c8a878;flex-shrink:0}
}
