/* ==========================================================================
   Site overrides — migrated from Appearance → Customize → Additional CSS
   (October 2026). Loaded after every other theme stylesheet so the cascade
   matches the Customizer. Rules for markup that no longer exists, and rules
   that fought the 2026 card design, were removed; see DECISIONS.md.
   Add site-specific CSS here (versioned) rather than in the Customizer.
   ========================================================================== */

.woocommerce #content div.product div.images, .woocommerce div.product div.images, .woocommerce-page #content div.product div.images, .woocommerce-page div.product div.images {
	width:100%;
}
form.wpcf7-form {
	padding:1rem;
	background:#f5f5f5;
	border-radius:.5rem;
	margin-top:1.5rem;
	border:1px solid #ccc;
}
form.wpcf7-form input:not([type=submit]),
form.wpcf7-form textarea {
	background:#fff;
	border:1px solid #ccc;
	border-radius:.25rem;
	padding:4px 8px;
}
form.wpcf7-form .input-group {
	margin:0 0 1rem !important;
}

.contact-signposts a {
	border-radius:.5rem;
	border:1px solid #ccc;
}
/* WooCommerce - brand styling (drop into Appearance -> Customise -> Additional CSS)
   Replace the hex values with your brand palette if needed.
*/
:root{
  --brand: #E30613;
  --brand-dark: #B1040E;
  --brand-soft: #FFE5E7;
  --ink: #111111;
  --muted: #666666;
  --line: #E6E6E6;
  --radius: 0px;
}

.product-support-banners__features,
.product-support-banners__features li{
	list-style: none;
}

section.header_cta {
    padding: 0;
}
section.header_cta .container {
  background:#fff;
	padding:1rem;
	box-shadow:inset 0 0 .5rem -.2rem #444;
	text-align:center;
}
section.header_cta .container h2 {
	color:#444;
  margin: 0 0 .25rem;
}
section.header_cta .container a {
    color: var(--brand);
    padding: .5rem 1rem .25rem;
    border: 1px solid;
    border-radius: 100px;
    text-decoration: none;
    margin-top: .25rem;
    display: inline-block;
}

.product-support-banners__hero-copy a.btn.filled {
    background: var(--brand);
}

/*Category*/
.product-card {
  text-decoration: none !important;
}
form.product-category-filters.main-form {
  display: flex;
	justify-content:space-between;
	align-items:center;
  gap: 10px;
	padding:20px;
	background:#fff;
	border:2px solid rgba(14, 15, 19, 0.1);
}
form.product-category-filters.main-form select {
	padding:0 4px;;
	background:white;
	font-size:.8rem;
	border-radius:4px;
	box-shadow:0 2px 4px rgba(0,0,0,0.3)
}

/*Account*/
/* =============================================
   BMS WooCommerce My Account — Custom Styles
   ============================================= */

.my-account .page-header {
	padding-top:.5rem;
	padding-bottom:.5rem;
}
section.my-account-page {
	padding-top:1.5rem;
	padding-bottom:1.5rem;
}

a.wc-block-cart__submit-button {
    background: var(--brand);
}
a.wc-block-cart__submit-button > div {
    color: white;
}
a.wc-block-cart__submit-button:hover {
    background: var(--brand-dark);
}

/* Layout */
.woocommerce-account .woocommerce {
  display: flex;
  gap: 0;
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
	flex-direction: row;
	justify-content: center;
	align-items:stretch;
}

/* ── Sidebar Navigation ── */
.woocommerce-MyAccount-navigation {
  width: 230px;
  flex-shrink: 0;
  border-right: 1px solid #e5e5e5;
  min-height: 480px;
}

/* Nav header bar */
.woocommerce-MyAccount-navigation::before {
  content: "My Account";
  display: block;
  background: #C8102E;
  color: rgba(255, 255, 255, 0.85);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  padding: 18px 24px 14px;
  border-bottom: none;
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 8px 0 0;
  padding: 0;
}

.woocommerce-MyAccount-navigation-link {
  border-left: 3px solid transparent;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.woocommerce-MyAccount-navigation-link a {
  display: block;
  padding: 11px 24px;
  font-size: 13px;
  color: #555555;
  text-decoration: none;
  font-weight: 400;
  transition: color 0.15s ease;
}

.woocommerce-MyAccount-navigation-link:hover {
  background: #fafafa;
  border-left-color: #e5e5e5;
}

.woocommerce-MyAccount-navigation-link:hover a {
  color: #222222;
}

/* Active state */
.woocommerce-MyAccount-navigation-link.is-active {
  border-left: 3px solid #C8102E;
  background: rgba(200, 16, 46, 0.05);
}

.woocommerce-MyAccount-navigation-link.is-active a {
  color: #C8102E;
  font-weight: 700;
}

/* Log out link */
.woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 12px;
  border-top: 1px solid #e5e5e5;
  padding-top: 4px;
}

.woocommerce-MyAccount-navigation-link--customer-logout a {
  color: #999999;
  font-size: 12px;
}

.woocommerce-MyAccount-navigation-link--customer-logout:hover a {
  color: #C8102E;
}

/* ── Main Content Area ── */
.woocommerce-MyAccount-content {
  flex: 1;
  padding: 28px 36px;
  min-width: 0;
}

/* Section headings */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 20px;
  padding-bottom: 10px;
  border-bottom: 2px solid #C8102E;
  display: inline-block;
}

/* Info / notice banner */
.woocommerce-info {
  background: #eef5fb;
  border: 1px solid #b5d4f4;
  border-left: 4px solid #185FA5;
  border-radius: 4px;
  padding: 14px 18px;
  font-size: 13px;
  color: #333333;
  display: flex;
  align-items: center;
  gap: 12px;
}

.woocommerce-info::before {
  content: "i";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: #185FA5;
  color: #ffffff;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}

/* "Browse products" link inside info box */
.woocommerce-info .woocommerce-Button,
.woocommerce-info a {
  color: #C8102E;
  font-weight: 700;
  text-decoration: none;
  margin-left: 6px;
}

.woocommerce-info a:hover {
  text-decoration: underline;
}

/* ── Orders Table ── */
.woocommerce-orders-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.woocommerce-orders-table th {
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #888888;
  padding: 0 12px 10px 0;
  border-bottom: 2px solid #e5e5e5;
}

.woocommerce-orders-table td {
  padding: 12px 12px 12px 0;
  color: #333333;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}

.woocommerce-orders-table tr:hover td {
  background: #fafafa;
}

/* Order status badges */
.woocommerce-order-status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 2px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

mark.order-status.status-completed {
  background: #eaf3de;
  color: #3b6d11;
}

mark.order-status.status-processing {
  background: #eef5fb;
  color: #185fa5;
}

mark.order-status.status-on-hold {
  background: #faeeda;
  color: #854f0b;
}

mark.order-status.status-cancelled {
  background: #fcebeb;
  color: #a32d2d;
}

/* View order button */
.woocommerce-button.button.view {
  display: inline-block;
  background: #C8102E;
  color: #ffffff;
  border: none;
  padding: 7px 16px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
  text-decoration: none;
  border-radius: 2px;
  transition: background 0.15s ease;
}

.woocommerce-button.button.view:hover {
  background: #a00d25;
  color: #ffffff;
}

/* ── Form Inputs (Account Details / Addresses) ── */
.woocommerce-MyAccount-content .form-row input,
.woocommerce-MyAccount-content .form-row select,
.woocommerce-MyAccount-content .form-row textarea {
  width: 100%;
  border: 1px solid #d5d5d5;
  border-radius: 2px;
  padding: 9px 12px;
  font-size: 13px;
  color: #333333;
  background: #ffffff;
  transition: border-color 0.15s ease;
  box-sizing: border-box;
}

.woocommerce-MyAccount-content .form-row input:focus,
.woocommerce-MyAccount-content .form-row select:focus,
.woocommerce-MyAccount-content .form-row textarea:focus {
  outline: none;
  border-color: #C8102E;
  box-shadow: 0 0 0 3px rgba(200, 16, 46, 0.08);
}

.woocommerce-MyAccount-content .form-row label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #666666;
  margin-bottom: 5px;
  display: block;
}

/* Save button */
.woocommerce-MyAccount-content .woocommerce-Button[type="submit"],
.woocommerce-MyAccount-content button[type="submit"] {
  background: #C8102E;
  color: #ffffff;
  border: none;
  padding: 11px 28px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  cursor: pointer;
  border-radius: 2px;
  transition: background 0.15s ease;
}

.woocommerce-MyAccount-content .woocommerce-Button[type="submit"]:hover,
.woocommerce-MyAccount-content button[type="submit"]:hover {
  background: #a00d25;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    flex-direction: column;
  }

  .woocommerce-MyAccount-navigation {
    width: 100%;
    min-height: auto;
    border-right: none;
    border-bottom: 1px solid #e5e5e5;
  }

  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-wrap: wrap;
    padding: 8px;
    gap: 4px;
  }

  .woocommerce-MyAccount-navigation-link {
    border-left: none;
    border-bottom: 2px solid transparent;
  }

  .woocommerce-MyAccount-navigation-link a {
    padding: 8px 14px;
    font-size: 12px;
    border-radius: 2px;
    background: #f5f5f5;
  }

  .woocommerce-MyAccount-navigation-link.is-active {
    border-left: none;
    border-bottom: 2px solid #C8102E;
    background: none;
  }

  .woocommerce-MyAccount-content {
    padding: 20px 20px;
  }
}
/*Product CF7*/
#message {
	height:200px;
}
/*NAV*/
.mega-dropdown {
  background-color: white !important;
}

.mega-products-dropdown-content {
  display: none;
}

.submenu-open .mega-products-dropdown-content {
  display: block;
}

.mega-products-child-list,
.mega-products-child-list li {
	list-style: none;
}
.mega-products-panels p,
a.mega-products-child-link {
	color:#222 !important;
}
a.mega-products-child-link {
	font-size:18px !important;
}
#mega-products-select-1 {
	color:#222;
}
@media (min-width: 768px) {
	
	.mega-dropdown {
		top:143px;
	}
  .mega-products-dropdown-content {
    display: flex;
    min-height: 340px;
	}
	.mega-products-dropdown,
	.mega-dropdown {
    border-top: 1px solid;
    border-bottom: 1px solid;
  }

  .mega-products-tabs {
    width: 32%;
    padding-right: 20px;
    border-right: 1px solid rgba(255, 255, 255, 0.2);
  }

  .mega-products-panels {
    width: 68%;
    padding-left: 30px;
  }

  .mega-products-list {
    columns: 2;
    column-gap: 24px;
  }
	
	.mega-products-dropdown,
	.mega-products-dropdown .w-full {
		padding:0 !important;
	}
	
	.mega-products-dropdown .container {
		max-width:unset;
	}
}

.mega-products-level {
  display: none;
}

.mega-products-level.is-active {
  display: flex;
	flex-direction:column;
	border-right:1px solid;
	padding:30px 0 30px 30px;
	background:#f5f5f5;
	height:100%;
}

button[data-target="mega-products-cat-86"] {
	font-weight:800 !important;
	margin-top:auto;
}


.mega-products-panels {
	padding:30px;
}
.mega-products-tab {
  display: block;
	color:#222;
  width: 100%;
  text-align: left;
	font-weight:500 !important;
  background: transparent;
  border: 0;
	padding:4px 10px 0;
  transition: 0.2s ease;
}

.mega-products-tab:hover,
.mega-products-tab.is-active {
  opacity: 1;
    background: var(--brand);
    color: white;
}

.mega-products-tab:focus {
  outline: none;
}

.mega-products-panel {
  display: none;
}

.mega-products-panel.is-active {
  display: block;
}

.mega-products-panel-title {
  margin-top: 0;
  margin-bottom: 1rem;
}

.mega-products-child-list {
  list-style: none;
  margin: 0 0 1rem;
  padding: 0;
}

.mega-products-child-link {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 0 0 6px;
  opacity: 0.85;
  transition: 0.2s ease;
}

.mega-products-child-link:hover {
  opacity: 1;
}

.mega-products-child-link:focus {
  outline: none;
}

.mega-products-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mega-products-list li {
  break-inside: avoid;
  margin: 0 0 8px;
}

.mega-products-list li a {
  opacity: 0.8;
}

.mega-products-list li a:hover {
  opacity: 1;
}

.mega-products-empty {
  margin: 0;
  opacity: 0.8;
}
/*END NAV*/

/* Form */
#bms_price_container {
	border:1px solid #60657633;
	border-radius:8px;
	padding:16px;
}
#bms_price_container form.cart {
	display:flex;
	align-items:center;
	padding:0;
	border:0;
	margin:0;
	justify-content:space-between;
}
#bms_price_container form.cart > * {
	flex:1;
}
#bms_price_container form.cart:before {
	display:none;display
}
#bms_price_container p.price bdi,
#bms_price_container p.price bdi span {
	font-size:28px;
	color:#111;
} 
/* Links */
.woocommerce a:not(.btn),
.woocommerce-page a:not(.btn) {
  color: var(--brand);
}
.woocommerce a:hover,
.woocommerce-page a:hover{
  color: var(--brand-dark);
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce ul.products li.product .price{
  color: var(--brand);
  font-weight: 700;
}

/* Primary buttons (Add to basket, Checkout, Apply coupon, etc) */
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt{
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
  border-radius: var(--radius);
  padding: 0.9em 1.3em;
  font-weight: 700;
  text-transform: none;
  box-shadow: none;
}

.woocommerce #respond input#submit:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit.alt:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{
  background: var(--brand-dark);
  border-color: var(--brand-dark);
  color: #fff;
}

/* Outline / secondary buttons (if your theme uses them) */
.woocommerce a.button.secondary,
.woocommerce button.button.secondary,
.woocommerce input.button.secondary{
  background: transparent;
  color: var(--brand);
  border: 2px solid var(--brand);
}
.woocommerce a.button.secondary:hover,
.woocommerce button.button.secondary:hover,
.woocommerce input.button.secondary:hover{
  background: var(--brand);
  color: #fff;
}

/* Focus states (accessibility) */
.woocommerce a.button:focus,
.woocommerce button.button:focus,
.woocommerce input.button:focus,
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus{
  outline: 2px solid var(--brand);
  outline-offset: 2px;
  box-shadow: none;
}

/* Inputs */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce textarea,
.woocommerce select{
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0.75em 0.9em;
}
.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce textarea:focus,
.woocommerce select:focus{
  border-color: var(--brand);
}

/* Quantity */
.woocommerce .quantity input.qty{
  border: 1px solid var(--line);
  border-radius: var(--radius) !Important;
  padding: 0.7em 0.6em;
}

/* Tabs (Description / Reviews) */

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius: var(--radius);
}
.woocommerce-message{
  border-top-color: var(--brand);
}
.woocommerce-message::before{
  color: var(--brand);
}
.woocommerce-info{
  border-top-color: var(--brand);
}
.woocommerce-info::before{
  color: var(--brand);
}
.woocommerce-error{
  border-top-color: var(--brand-dark);
}

/* On-sale badge */
.woocommerce span.onsale{
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  padding: 0.4em 0.8em;
  min-height: auto;
  line-height: 1.2;
}

/*Code*/
p.product-info-code.text-sm {
  font-style: italic;
  border: 2px solid var(--brand);
	border-radius: 8px;
  padding: .25rem .5rem 0;
  background: var(--brand-soft);
  display: inline-block;
	color:var(--brand);
}

/* Product cards */
.product-category-results .listing-wrapper > a.product-card,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.product-category-results .listing-wrapper > a {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px;
  overflow: hidden;
}
.woocommerce ul.products li.product a img{
  border-radius: calc(var(--radius) - 2px);
}

/* Breadcrumbs and small meta */
.woocommerce .woocommerce-breadcrumb,
.woocommerce div.product .product_meta{
  color: var(--muted);
	display:flex;
	flex-direction:column;
	margin-top:1rem;
}

/* Cart/Checkout totals emphasis */
.woocommerce-cart .cart-collaterals .order-total strong,
.woocommerce-checkout-review-order-table .order-total strong{
  color: var(--brand);
}

/* Optional: make the single product 'Add to basket' area breathe a bit */
.woocommerce div.product form.cart{
  margin-top: 1.2em;
  padding-top: 1.2em;
  border-top: 1px solid var(--line);
}

/*Actions*/
/* Product actions row (Enquire button + Sales enquiries) */
.product-info-actions{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
  margin: 16px 0;
}

/* Left CTA button */
.product-info-actions .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E30613;          /* brand red */
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  padding: 14px 18px;
  min-height: 48px;
  border-radius: 0;             /* square like screenshot */
  line-height: 1;
  white-space: nowrap;
  transition: background-color .15s ease, transform .05s ease;
}

.product-info-actions .btn:hover{
  background: #B1040E;          /* darker hover */
  color: #fff;
}

.product-info-actions .btn:active{
  transform: translateY(1px);
}

/* Right enquiries block */
.product-info-actions .enquiries{
  text-align: right;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/* "Sales enquiries" label */
.product-info-actions .enquiries .text-black{
  color: #111;
  margin: 0;
}

.product-info-actions .enquiries .text-xs{
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: .02em;
}

/* Phone number row */
.product-info-actions .enquiries .h2{
  margin: 0;
  font-size: 32px;              /* adjust to match your theme */
  line-height: 1;
  font-weight: 800;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

/* Font Awesome SVG icon */
.product-info-actions .enquiries .h2 svg{
  width: 22px;
  height: 22px;
  color: #E30613;               /* brand red icon */
  flex: 0 0 auto;
}

/* Responsive: stack nicely on mobile */
@media (max-width: 640px){
  .product-info-actions{
    flex-direction: column;
    align-items: stretch;
  }

  .product-info-actions .enquiries{
    text-align: left;
  }

  .product-info-actions .enquiries .h2{
    justify-content: flex-start;
    font-size: 26px;
  }

  .product-info-actions .btn{
    width: 100%;
  }
}

/* WooCommerce product grid cards - matches your screenshot layout */

/* --- Layout vars (tweak if needed) --- */
:root{
  --brand: #E30613;
  --brand-dark: #B1040E;
  --card-bg: #fff;
  --card-border: #E9E9E9;
  --card-pad: 18px;
  --img-bg: #F5F6F7;
  --text: #111;
  --gap: 22px;
}

/* Make the UL a proper grid (replaces float-based columns cleanly) */
.woocommerce ul.products{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--gap);
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce ul.products:before {
	display:none;
}
@media (max-width:768px) {
	.mega-products-panels {
		padding:10px;
	}
	.main-nav-links {
		padding:10px;
	}
	.mega-products-child-list li {
		margin:0;
	}
}
.main-nav-links>li>a {
	color:inherit;
	font-size:1rem !important;
}
.product-support-banners__solution img {
	aspect-ratio:1 / 1;
}
.product-support-banners__solution h4 {
	font-size:1rem;
	font-weight:600;
	color:#111;
}
/* Responsive columns */
@media (max-width: 1024px){
  .woocommerce ul.products{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px){
  .woocommerce ul.products{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .woocommerce ul.products{ grid-template-columns: 1fr; }
}

/* Card */
.product-category-results .listing-wrapper > a.product-card,
.woocommerce ul.products li.product,
.product-support-banners__solution {
  float: none !important; 
  width: auto !important;  
  margin: 0 !important;
  background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: var(--card-radius);
  padding: var(--card-pad);
  display: flex;
  flex-direction: column;
  min-height: 100%;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,0.18);
	transition:.3s ease all;
}
.product-category-results .listing-wrapper > a.product-card:hover,
.woocommerce ul.products li.product:hover {
	overflow:visible;
	box-shadow: 0 .5rem 1rem rgba(0,0,0,0.3);
}
/* Ensure the whole top area is clickable, but keeps structure */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link{
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  flex: 1 1 auto;                     
}

/* Image: centred in a light box */
.product-category-results .listing-wrapper > a.product-card .product-card-image,
.woocommerce ul.products li.product a img{
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  padding: 8px;                       
  object-fit: contain;
  aspect-ratio: 1 / 1;
}

/* Title */
.product-category-results .listing-wrapper > a.product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  margin: 14px 0 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 800;
  color: var(--text);
}

/* Optional: clamp title lines to keep cards consistent */
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  display: -webkit-box;
  -webkit-line-clamp: 4;               /* tweak: 3-5 */
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.3em * 4); 
}
.product-card-title {
	margin-bottom:1rem;
}

.main-nav-links > li.has-children .dropdown {
	transition-delay:.5s;
}
/* Button: centred red pill-ish rectangle like screenshot */
.woocommerce ul.products li.product a.button{
  align-self: center;
  margin-top: 16px !important;
  background: var(--brand);
  color: #fff;
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  font-weight: 800;
  text-transform: none;
  line-height: 1;
  min-width: 135px;
  text-align: center;
}
.product-category-results .listing-wrapper > a.product-card .btn,
.woocommerce .related.products ul.products li a.button {
	background:none;
	color: #222 !important;
	padding:0;
	align-self:flex-start;
	min-width:unset;
	font-weight:400;
	font-size:0.8rem;
	border:0;
	margin-top:auto;
}
.woocommerce ul.products li.product a.button:hover{
  background: var(--brand-dark);
  color: #fff;
}

/* If the theme injects add-to-cart spans/screen reader elements - keep clean */
.woocommerce ul.products li.product .added_to_cart{
  display: none !important;
}

/* Make sure "first/last" don't affect spacing from some themes */
.woocommerce ul.products li.first,
.woocommerce ul.products li.last{
  clear: none !important;
}

/*Nav*/
.main-nav-replace {
	display:none !important;
}
header {
	position:relative;
	display:flex;
	flex-direction:column;
	padding:0;
	border-bottom:1px solid #444;
}
header > div {
	padding:0 10px !important;
	width:100% !important;
	position:unset !important;
}
header a {
	font-size:1.15rem !important;
	text-decoration:none;
}
.has-children a > svg {
	transform:translatey(4px)
}
