.catalogue{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.shop-product{padding:0;overflow:hidden}.shop-image{display:block;width:100%;height:260px;object-fit:cover}.shop-content{padding:24px}.shop-placeholder{height:180px;background:#102f4d;color:#fff;display:grid;place-content:center;letter-spacing:.2em;line-height:1.8;font-weight:bold}.shop-price{font-size:24px;font-weight:bold;margin:8px 0}.add-form{display:grid;gap:10px}.add-form select,.add-form input,#cart input,#cart select,#cart textarea{width:100%;min-width:0;padding:12px;border:1px solid #aeb7bd;border-radius:4px;background:white;color:var(--ink);font:inherit}.add-form button{border:0;cursor:pointer;margin-top:8px;padding:16px}.add-form label,#cart label{font-size:14px;display:block;margin-bottom:5px}.cart-nav{background:var(--ink);color:white;padding:10px 16px;border-radius:4px}.shop-status{position:sticky;top:130px;z-index:9;background:var(--ink);color:white;padding:0 6%;line-height:1.5}.shop-status:not(:empty){padding-top:12px;padding-bottom:12px}.cart-row{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:22px;align-items:center;border-bottom:1px solid var(--line);padding:24px 0}.cart-row p{margin:8px 0}.remove-item{background:none;border:0;color:#9b3210;text-decoration:underline;cursor:pointer;min-height:44px}.order-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.order-fields .wide{grid-column:1/-1}#cart-summary{font-size:21px;line-height:1.7;font-weight:bold;background:#e8eef3;padding:20px;margin-top:24px}#cart-summary:empty{display:none}#cart .cta{border:0;cursor:pointer}#order-review{padding:24px;background:white;border:1px solid var(--line);margin-top:24px}#order-message{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.6}#cart [hidden]{display:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media(max-width:1050px){.catalogue{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.catalogue,.order-fields{grid-template-columns:1fr}.cart-row{grid-template-columns:1fr 1fr;gap:16px}.shop-image{height:240px}.shop-status{position:static}.shop-content{padding:20px}.cart-row>div:first-child{grid-column:1/-1}.order-fields .wide{grid-column:auto}}

/* Show the full supplied cement product image without cropping its label. */
.shop-product[data-product-id="cement"] .shop-image{object-fit:contain;background:#f5f7f9}

.shop-product[data-product-id="black-cover"] .shop-image{object-fit:contain;background:#fff}

.shop-product[data-product-id="welded-wire-mesh"] .shop-image{object-fit:contain;background:#fff}

#household .shop-image{object-fit:contain;background:#fff}
.catalogue-category{grid-column:1/-1;margin:24px 0 0;padding:0 0 14px;border-bottom:1px solid var(--line);font-size:25px}
.catalogue-category:first-child{margin-top:0}
#household .shop-content h3{overflow-wrap:anywhere}

.bundle-offer{font-size:16px;font-weight:700;color:#17485e;margin:0 0 8px}
.bundle-total{font-size:16px;font-weight:700;margin:0}
.add-form .bundle-button{background:#edf4f7;color:var(--ink);border:1px solid #bacbd6;border-radius:4px;margin-top:0;padding:12px}

/* Keep text messaging available while browsing, with room at the page end. */
:root{--message-dock-space:150px}
html{scroll-padding-bottom:var(--message-dock-space)}
body{padding-bottom:var(--message-dock-space)}
.message-dock{position:fixed;right:20px;bottom:20px;z-index:30;width:360px;max-width:calc(100% - 40px);padding:14px;background:#fff;border:1px solid #cfd3d5;border-radius:10px;box-shadow:0 6px 24px #102f4d26;color:var(--ink)}
.message-dock-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;font-size:14px;line-height:1.5}
.message-dock-heading strong{font-size:16px}
.message-dock-heading span{color:var(--muted)}
.message-dock-links{display:grid;grid-template-columns:1fr;gap:10px}
.message-link{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 10px;border-radius:5px;color:white;font-size:16px;font-weight:700;line-height:1.4}
.whatsapp-link{background:#075e54}
.message-link:hover{filter:brightness(.92)}
#saved-order .cta{margin-top:10px;max-width:100%;white-space:normal}
@media(max-width:700px){
 :root{--message-dock-space:calc(132px + env(safe-area-inset-bottom,0px))}
 .message-dock{left:0;right:0;bottom:0;width:100%;max-width:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));border-radius:0;border-width:1px 0 0}
 .message-dock-heading{margin-bottom:8px;gap:8px}.message-dock-heading strong{font-size:14px}
}

.shop-product[data-product-id="paint-brush-4"] .shop-image{height:auto;aspect-ratio:1;object-fit:contain;background:#fff}

.shop-product[data-product-id="paint-roller-9"] .shop-image{object-fit:contain;background:#fff;padding:16px}

.shop-product[data-product-id="tape-measure"] .shop-image{object-fit:contain;background:#fff}

.shop-product[data-product-id="fiberglass-tape-100"] .shop-image{object-fit:contain;background:#fff;padding:12px}

.shop-product[data-product-id="wire-rope-hook"] .shop-image{object-fit:contain;background:#fff;padding:12px}
