body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" /*{body-font-family}*/;
	font-size: 14px /*{body-font-size}*/;
	color: #212529 /*{body-font-colour}*/;
	background-image: none /*{body-background-image}*/;
	background-color: #ffffff /*{body-background-colour}*/;
}
a, .btn-link{
	color: #006ff5 /*{link-text-colour}*/;
}
a:hover, a:active, a:focus, .btn-link:hover{
	color: #004ca9 /*{link-text-hover-colour}*/;
}
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" /*{headers-font-family}*/;
	color: #333333 /*{headers-colour}*/;
}
.carousel-caption h3, .carousel-caption h2, .carousel-caption .h3, .carousel-caption p {
	color: #ffffff /*{carousel-text-colour}*/;
}
h1, .h1 {
	font-size: 26.249px /*{header-1-font-size}*/;
}
h2, .h2 {
	font-size: 21px /*{header-2-font-size}*/;
}
h3, .h3 {
	font-size: 18.375px /*{header-3-font-size}*/;
}
h4, .h4 {
	font-size: 15.75px /*{header-4-font-size}*/;
}
h5, .h5 {
	font-size: 13.124px /*{header-5-font-size}*/;
}
/* Secondary button */
.btn-outline-secondary, .btn-default {
	color: #333333 /*{buttons | btn-default-text-colour}*/;
	background-color: #ffffff /*{buttons | btn-default-background-colour}*/;
	border-color: #cccccc /*{buttons | btn-default-border-colour}*/;
}
.btn-outline-secondary:hover, .btn-default:hover{
	color: #333333 /*{buttons | btn-default-text-colour-hover}*/;
	background-color: #ebebeb /*{buttons | btn-default-background-colour-hover}*/;
	border-color: #adadad /*{buttons | btn-default-border-colour-hover}*/;
}
.btn-outline-secondary.disabled, .btn-default:disabled {
	color: #333333 /*{buttons | btn-default-text-colour-hover}*/;
	background-color: #ebebeb /*{buttons | btn-default-background-colour-hover}*/;
	border-color: #adadad /*{buttons | btn-default-border-colour-hover}*/;
}
.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle,
.btn-default:not(:disabled):not(.disabled):active, .btn-default:not(:disabled):not(.disabled).active, .show > .btn-default.dropdown-toggle {
	color: #333333 /*{buttons | btn-default-text-colour-hover}*/;
	background-color: #ebebeb /*{buttons | btn-default-background-colour-hover}*/;
	border-color: #adadad /*{buttons | btn-default-border-colour-hover}*/;
}
/* Primary button */
.btn-primary {
	color: #ffffff /*{buttons | btn-primary-text-colour}*/;
	background-color: #006ff5 /*{buttons | btn-primary-background-colour}*/;
	border-color: #006ff5 /*{buttons | btn-primary-border-colour}*/;
}
.btn-primary:hover {
	color: #ffffff /*{buttons | btn-primary-text-colour-hover}*/;
	background-color: #005ecf /*{buttons | btn-primary-background-colour-hover}*/;
	border-color: #0058c2 /*{buttons | btn-primary-border-colour-hover}*/;
}
.btn-primary.disabled, .btn-primary:disabled {
	color: #ffffff /*{buttons | btn-primary-text-colour-hover}*/;
	background-color: #005ecf /*{buttons | btn-primary-background-colour-hover}*/;
	border-color: #0058c2 /*{buttons | btn-primary-border-colour-hover}*/;
}
.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {
	color: #ffffff /*{buttons | btn-primary-text-colour-hover}*/;
	background-color: #005ecf /*{buttons | btn-primary-background-colour-hover}*/;
	border-color: #0058c2 /*{buttons | btn-primary-border-colour-hover}*/;
}
/* Warning button */
.btn-warning {
	color: #ffffff /*{buttons | btn-warning-text-colour}*/;
	background-color: #ffc107 /*{buttons | btn-warning-background-colour}*/;
	border-color: #ffc107 /*{buttons | btn-warning-border-colour}*/;
}
.btn-warning:hover {
	color: #ffffff /*{buttons | btn-warning-text-colour-hover}*/;
	background-color: #e0a800 /*{buttons | btn-warning-background-colour-hover}*/;
	border-color: #ffc107 /*{buttons | btn-warning-border-colour-hover}*/;
}
.btn-warning.disabled, .btn-warning:disabled {
	color: #ffffff /*{buttons | btn-warning-text-colour-hover}*/;
	background-color: #e0a800 /*{buttons | btn-warning-background-colour-hover}*/;
	border-color: #ffc107 /*{buttons | btn-warning-border-colour-hover}*/;
}
.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {
	color: #ffffff /*{buttons | btn-warning-text-colour-hover}*/;
	background-color: #e0a800 /*{buttons | btn-warning-background-colour-hover}*/;
	border-color: #ffc107 /*{buttons | btn-warning-border-colour-hover}*/;
}
/* Danger button */
.btn-danger {
	color: #ffffff /*{buttons | btn-danger-text-colour}*/;
	background-color: #dc3545 /*{buttons | btn-danger-background-colour}*/;
	border-color: #dc3545 /*{buttons | btn-danger-border-colour}*/;
}
.btn-danger:hover {
	color: #ffffff /*{buttons | btn-danger-text-colour-hover}*/;
	background-color: #c82333 /*{buttons | btn-danger-background-colour-hover}*/;
	border-color: #bd2130 /*{buttons | btn-danger-border-colour-hover}*/;
}
.btn-danger.disabled, .btn-danger:disabled {
	color: #ffffff /*{buttons | btn-danger-text-colour-hover}*/;
	background-color: #c82333 /*{buttons | btn-danger-background-colour-hover}*/;
	border-color: #bd2130 /*{buttons | btn-danger-border-colour-hover}*/;
}
.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {
	color: #ffffff /*{buttons | btn-danger-text-colour-hover}*/;
	background-color: #c82333 /*{buttons | btn-danger-background-colour-hover}*/;
	border-color: #bd2130 /*{buttons | btn-danger-border-colour-hover}*/;
}
/* Success button */
.btn-success {
	color: #ffffff /*{buttons | btn-success-text-colour}*/;
	background-color: #28a745 /*{buttons | btn-success-background-colour}*/;
	border-color: #28a745 /*{buttons | btn-success-border-colour}*/;
}
.btn-success:hover {
	color: #ffffff /*{buttons | btn-success-text-colour-hover}*/;
	background-color: #218838 /*{buttons | btn-success-background-colour-hover}*/;
	border-color: #1e7e34 /*{buttons | btn-success-border-colour-hover}*/;
}
.btn-success.disabled, .btn-success:disabled {
	color: #ffffff /*{buttons | btn-success-text-colour-hover}*/;
	background-color: #218838 /*{buttons | btn-success-background-colour-hover}*/;
	border-color: #1e7e34 /*{buttons | btn-success-border-colour-hover}*/;
}
.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {
	color: #ffffff /*{buttons | btn-success-text-colour-hover}*/;
	background-color: #218838 /*{buttons | btn-success-background-colour-hover}*/;
	border-color: #1e7e34 /*{buttons | btn-success-border-colour-hover}*/;
}
/* Info button */
.btn-info {
	color: #ffffff /*{buttons | btn-info-text-colour}*/;
	background-color: #17a2b8 /*{buttons | btn-info-background-colour}*/;
	border-color: #17a2b8 /*{buttons | btn-info-border-colour}*/;
}
.btn-info:hover {
	color: #ffffff /*{buttons | btn-info-text-colour-hover}*/;
	background-color: #138496 /*{buttons | btn-info-background-colour-hover}*/;
	border-color: #117a8b /*{buttons | btn-info-border-colour-hover}*/;
}
.btn-info.disabled, .btn-info:disabled {
	color: #ffffff /*{buttons | btn-info-text-colour-hover}*/;
	background-color: #138496 /*{buttons | btn-info-background-colour-hover}*/;
	border-color: #117a8b /*{buttons | btn-info-border-colour-hover}*/;
}
.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {
	color: #ffffff /*{buttons | btn-info-text-colour-hover}*/;
	background-color: #138496 /*{buttons | btn-info-background-colour-hover}*/;
	border-color: #117a8b /*{buttons | btn-info-border-colour-hover}*/;
}
.breadcrumb {
	background-color: #f8f9fa /*{breadcrumb-background-colour}*/;
}
.breadcrumb-item + .breadcrumb-item::before {
	color: #6c757d /*{breadcrumb-text-colour}*/;
}
.breadcrumb > .active,
.breadcrumb a {
	color: #6c757d /*{breadcrumb-text-colour}*/;
}
.pagination .page-link{
	color: #006ff5 /*{pagination-text-colour}*/;
	background-color: #ffffff /*{pagination-bg-colour}*/;
	border-color: #dee2e6 /*{pagination-border-colour}*/;
}
.pagination .page-link:hover,
.pagination .page-link:focus{
	color: #004ca9 /*{pagination-text-colour-hover}*/;
	background-color: #e9ecef /*{pagination-bg-colour-hover}*/;
	border-color: #dee2e6 /*{pagination-border-colour-hover}*/;
}
.pagination .active .page-link,
.pagination .active .page-link:hover,
.pagination .active .page-link:focus {
	color: #ffffff /*{pagination-text-colour-active}*/;
	background-color: #006ff5 /*{pagination-bg-colour-active}*/;
	border-color: #006ff5 /*{pagination-border-colour-active}*/;
}
.badge-secondary {
	background-color: #ebebeb /*{label-default-bg}*/;
}
.badge-primary {
	background-color: #006ff5 /*{label-primary-bg}*/;
}
.badge-success {
	background-color: #28a745 /*{label-success-bg}*/;
}
.badge-info {
	background-color: #17a2b8 /*{label-info-bg}*/;
}
.badge-warning {
	background-color: #212529 /*{label-warning-text-colour}*/;
	background-color: #ffc107 /*{label-warning-bg}*/;
}
.badge-danger {
	background-color: #dc3545 /*{label-danger-bg}*/;
}
.card {
	border-color: #dddddd /*{panel-border-colour}*/;
}
.card-header {
	background-color: #f5f5f5 /*{panel-header-bg-colour}*/;
	border-color: #dddddd /*{panel-header-border-colour}*/;
}
.productsave {
	color: #d9534f /*{sale-colour}*/;
}
.wrapper-header .navbar-toggler {
	color: #696969 /*{navbar-default-link-colour}*/;
}
.wrapper-header .navbar {
	background-color: #f8f9fa /*{navbar-default-bg-colour}*/ !important;
}
.wrapper-header .navbar .navbar-nav .nav-link {
	color: #696969 /*{navbar-default-link-colour}*/;
}
.wrapper-header .navbar-nav .nav-link:hover,
.wrapper-header .navbar-nav .nav-link:focus {
	color: #333333 /*{navbar-default-link-colour-hover}*/;
}
.wrapper-header .navbar-nav .show > .nav-link,
.wrapper-header .navbar-nav .active > .nav-link,
.wrapper-header .navbar-nav .nav-link.show, .wrapper-header .navbar-nav .nav-link.active{
	color: #555555 /*{navbar-default-link-colour-active}*/;
}
.dropdown-menu {
	background-color: #ffffff /*{dropdown-menu-bg}*/;
	border-color: #cccccc /*{dropdown-menu-border-colour}*/;
}
.dropdown-item{
	color: #212529 /*{dropdown-menu-link-colour}*/;
}
.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active{
	color: #262626 /*{dropdown-menu-link-colour-hover}*/;
	background-color: #f5f5f5 /*{dropdown-menu-link-bg-hover}*/;
}

/* === v20250417 James Wojciak edited === */
/* Consistent image ratio and layout */
.products-box__img {
    width: 100%;
    aspect-ratio: 1 / 1; /* Enforces square frame */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f9f9f9; /* Optional neutral bg */
}

.products-box__img img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* or use 'cover' for crop-and-fill */
}

/* Uniform product box height */
.products__box {
    min-height: 420px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* Clamp product name to 2 lines */
.products__desc a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 3.6em;
}

/* Make buttons sit at the bottom */
.products__cart-btn {
    margin-top: auto;
}

/* Badge system for low stock variants */
.badge-stock {
    display: inline-block;
    font-size: 13px;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 6px;
    font-weight: 600;
}
.badge-stock.critical {
    background-color: #dc3545;
    color: white;
}
.badge-stock.warning {
    background-color: #fd7e14;
    color: white;
}
.badge-stock.safe {
    background-color: #ffc107;
    color: #212529;
}

/* Popular product badge */
.badge-popular {
    display: inline-block;
    background-color: #007BFF;
    color: white;
    font-size: 13px;
    padding: 4px 8px;
    border-radius: 4px;
    margin-bottom: 6px;
    font-weight: 600;
}

/* Optional: visual stock level bar */
.stock-meter {
    background: #e0e0e0;
    border-radius: 4px;
    height: 6px;
    width: 100%;
    margin: 4px 0 10px;
}
.stock-fill {
    height: 100%;
    background-color: #ffc107;
    border-radius: 4px;
    transition: width 0.4s ease;
}
