/* SA Business Distribution - shop colours and product-card styling.
   Works on top of any theme; change the colours in one place below. */
:root{
  --sabd-navy:#0b1f3a;      /* headings, prices */
  --sabd-lime:#c6f04a;      /* highlights, badges */
  --sabd-blue:#1f3ae0;      /* buttons */
  --sabd-blue-dark:#162bad;
  --sabd-green:#1a7f37;     /* savings, in stock */
  --sabd-line:#e2e6ea;
  --sabd-ink:#12181c;
}

/* ---------- buttons ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce .button.alt, .wc-block-components-button, .wp-element-button, .wp-block-button__link{
  background:var(--sabd-blue)!important; color:#fff!important; border:0!important; border-radius:7px!important;
  font-weight:600!important; letter-spacing:.01em; padding:.72em 1.25em!important; transition:background .15s, transform .15s;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .button.alt:hover, .wc-block-components-button:hover, .wp-element-button:hover{
  background:var(--sabd-blue-dark)!important; transform:translateY(-1px);
}
.woocommerce .button.checkout, .wc-block-cart__submit-button{ background:var(--sabd-navy)!important; }

/* ---------- product cards ---------- */
.woocommerce ul.products li.product:not(.pc), .wc-block-grid__product{
  background:#fff; border:1px solid var(--sabd-line); border-radius:10px; padding:14px!important;
  transition:box-shadow .16s, transform .16s, border-color .16s; text-align:left;
}
.woocommerce ul.products li.product:not(.pc):hover, .wc-block-grid__product:hover{
  box-shadow:0 10px 24px rgba(11,31,58,.10); transform:translateY(-3px); border-color:#cfd6de;
}
.woocommerce ul.products li.product:not(.pc) img{ border-radius:6px; margin-bottom:.6em; }
.woocommerce ul.products li.product:not(.pc) .woocommerce-loop-product__title{
  font-size:.95rem!important; line-height:1.35; color:var(--sabd-ink); font-weight:600; padding:.25em 0!important;
}
.woocommerce ul.products li.product:not(.pc) .price, .woocommerce div.product p.price{
  color:var(--sabd-navy)!important; font-weight:800; font-size:1.18rem;
}
.woocommerce ul.products li.product:not(.pc) .button{ width:100%; text-align:center; margin-top:.5em; }

/* ---------- badges and stock ---------- */
.woocommerce span.onsale, .wc-block-grid__product-onsale{
  background:var(--sabd-lime)!important; color:var(--sabd-navy)!important; font-weight:800; border-radius:6px;
  padding:.35em .7em; min-height:0; min-width:0; line-height:1.3;
}
.sabd-save{ color:var(--sabd-green); font-weight:600; }
.woocommerce div.product .stock{ color:var(--sabd-green); font-weight:600; }
.woocommerce div.product .out-of-stock{ color:#b3261e; }

/* ---------- headings, tabs, breadcrumb ---------- */
.woocommerce-products-header__title, .woocommerce div.product .product_title, .woocommerce h2{ color:var(--sabd-navy); }
.woocommerce-breadcrumb{ font-size:.85rem; color:#5a6470; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ border-bottom:3px solid var(--sabd-blue); }
.woocommerce .related > h2, .woocommerce .upsells > h2{
  border-top:1px solid var(--sabd-line); padding-top:1.2em; margin-top:2em;
}

/* ---------- messages and notices ---------- */
.woocommerce-message, .woocommerce-info{ border-top-color:var(--sabd-blue)!important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--sabd-blue)!important; }

/* ---------- phones ---------- */
@media(max-width:600px){
  .woocommerce ul.products li.product:not(.pc){ padding:10px!important; }
  .woocommerce ul.products li.product:not(.pc) .woocommerce-loop-product__title{ font-size:.9rem!important; }
  .woocommerce ul.products li.product:not(.pc) .price{ font-size:1.05rem; }
}

/* ---------- newer WooCommerce block layouts (block themes) ---------- */
.wc-block-product-template li.product, .wp-block-woocommerce-product-template li,
.wc-block-grid__products li.wc-block-grid__product{
  background:#fff; border:1px solid var(--sabd-line); border-radius:10px; padding:14px; list-style:none;
  transition:box-shadow .16s, transform .16s, border-color .16s;
}
.wc-block-product-template li.product:hover, .wp-block-woocommerce-product-template li:hover{
  box-shadow:0 10px 24px rgba(11,31,58,.10); transform:translateY(-3px); border-color:#cfd6de;
}
.wc-block-components-product-title, .wc-block-grid__product-title, .wp-block-post-title a{
  color:var(--sabd-ink)!important; font-weight:600;
}
.wc-block-components-product-price, .wc-block-grid__product-price,
.wp-block-woocommerce-product-price .woocommerce-Price-amount{
  color:var(--sabd-navy)!important; font-weight:800; font-size:1.15rem;
}
.wc-block-components-product-price del{ color:#7a828c!important; font-weight:500; }
.wp-block-woocommerce-product-button .wp-element-button, .wc-block-components-product-button .wc-block-components-product-button__button{
  width:100%; justify-content:center;
}
.wc-block-components-product-sale-badge{ background:var(--sabd-lime)!important; color:var(--sabd-navy)!important; font-weight:800; }
.woocommerce-result-count, .wc-block-product-sort-select{ color:#5a6470; }
.wp-block-woocommerce-product-image img{ border-radius:6px; }

/* ---------- tighter shop layout (fixes the oversized default theme) ---------- */
.woocommerce-page .wc-block-product-template,
.woocommerce-page ul.products,
.wp-block-woocommerce-product-template{
  display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:16px!important; margin:0!important;
}
@media(max-width:1100px){ .woocommerce-page .wc-block-product-template,.woocommerce-page ul.products,.wp-block-woocommerce-product-template{ grid-template-columns:repeat(3,minmax(0,1fr))!important; } }
@media(max-width:700px){ .woocommerce-page .wc-block-product-template,.woocommerce-page ul.products,.wp-block-woocommerce-product-template{ grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; } }
.woocommerce-page ul.products li.product:not(.pc), .wp-block-woocommerce-product-template li{ width:auto!important; margin:0!important; float:none!important; }

/* photos: never stretched or cropped - supplier photos vary in size, so show them whole on white */
.woocommerce-page .wp-block-woocommerce-product-image img,
.woocommerce-page .wc-block-components-product-image img,
.woocommerce-page ul.products li.product:not(.pc) img{
  width:100%!important; height:clamp(140px,15vw,190px)!important; object-fit:contain!important;
  background:#fff; padding:6px; box-sizing:border-box;
}
.woocommerce-page div.product .woocommerce-product-gallery img{ height:auto!important; object-fit:contain!important; }

/* type: the blog theme's sizes are far too big for a product grid */
.woocommerce-page{ font-size:16px; }
.woocommerce-page .wc-block-components-product-title,
.woocommerce-page ul.products li.product:not(.pc) .woocommerce-loop-product__title,
.woocommerce-page .wp-block-post-title{
  font-size:.92rem!important; line-height:1.35!important; margin:.45em 0 .2em!important; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.woocommerce-page .wc-block-components-product-price, .woocommerce-page ul.products li.product:not(.pc) .price{ font-size:1.05rem!important; }
.woocommerce-page .wp-element-button, .woocommerce-page .wc-block-components-product-button__button{
  font-size:.85rem!important; padding:.6em 1em!important;
}
.woocommerce-products-header__title, .woocommerce-page h1{ font-size:clamp(1.4rem,3vw,2rem)!important; }
.woocommerce-page .woocommerce-result-count, .woocommerce-page .woocommerce-ordering{ font-size:.85rem; }

/* single product page: stop the huge blog-width layout */
.woocommerce-page div.product .product_title{ font-size:clamp(1.3rem,2.6vw,1.8rem)!important; }
.woocommerce-page div.product .woocommerce-product-details__short-description{ font-size:.95rem; }
.woocommerce-page .entry-content > .wp-block-group{ max-width:1280px; margin-inline:auto; }

/* even cards: text left, buttons lined up at the bottom */
.woocommerce-page .wp-block-woocommerce-product-template li,
.woocommerce-page ul.products li.product:not(.pc){
  display:flex!important; flex-direction:column; text-align:left!important;
}
.woocommerce-page .wp-block-woocommerce-product-template li > *,
.woocommerce-page .wc-block-components-product-title,
.woocommerce-page .wc-block-components-product-price{ text-align:left!important; }
.woocommerce-page .wp-block-woocommerce-product-button,
.woocommerce-page ul.products li.product:not(.pc) .button{ margin-top:auto!important; }
.woocommerce-page .wp-block-woocommerce-product-image,
.woocommerce-page .wc-block-components-product-image{ background:#fff; border-radius:6px; }
.woocommerce-page .wp-block-woocommerce-product-image a{ display:block; }
