
.ace-catalogue{
  --ace-red:#e30613;
  --ace-red-dark:#b8000b;
  --ace-black:#171717;
  --ace-text:#2a2a2a;
  --ace-muted:#6a6a6a;
  --ace-warm:#f6f4ef;
  --ace-border:#e2ded6;
  --ace-white:#fff;
  --ace-shadow:0 12px 32px rgba(0,0,0,.08);
  max-width:1280px;
  margin:0 auto;
  padding:clamp(18px,2.4vw,34px) 20px 72px;
  color:var(--ace-text);
}
.ace-catalogue *{box-sizing:border-box}
.ace-catalogue__hero{max-width:850px;margin-bottom:20px}
.ace-catalogue__eyebrow{font-size:12px;letter-spacing:.14em;font-weight:900;color:var(--ace-red);margin-bottom:8px}
.ace-catalogue__hero h1{margin:0 0 10px;font-size:clamp(34px,4.4vw,58px);line-height:1.02;color:var(--ace-black)}
.ace-catalogue__hero p{margin:0;max-width:760px;font-size:17px;line-height:1.55;color:var(--ace-muted)}
.ace-catalogue__reassurance{display:inline-flex;flex-wrap:wrap;gap:8px 12px;margin-top:14px;padding:9px 12px;border:1px solid var(--ace-border);border-radius:999px;background:var(--ace-warm);font-size:13px;font-weight:700;color:#454545}
.ace-catalogue__search{display:grid;grid-template-columns:1fr auto;gap:10px;margin:0 0 24px}
.ace-catalogue__search input{width:100%;min-height:50px;border:1px solid var(--ace-border);border-radius:12px;padding:0 16px;font-size:16px;background:#fff}
.ace-catalogue__search button,.ace-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:0;border-radius:10px;background:var(--ace-red);color:#fff!important;font-weight:800;text-decoration:none;cursor:pointer}
.ace-catalogue__search button:hover,.ace-button:hover{background:var(--ace-red-dark)}
.ace-button--secondary{background:var(--ace-black)}
.ace-catalogue__section-head{margin:28px 0 16px}
.ace-catalogue__section-head h2{margin:0 0 5px;font-size:28px;color:var(--ace-black)}
.ace-catalogue__section-head p{margin:0;color:var(--ace-muted)}
.ace-department-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:36px}
.ace-department-card{display:block;overflow:hidden;border:1px solid var(--ace-border);border-radius:16px;background:#fff;color:var(--ace-black)!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
.ace-department-card:hover{transform:translateY(-2px);box-shadow:var(--ace-shadow)}
.ace-department-card__media{display:block;aspect-ratio:16/9;background:var(--ace-warm);overflow:hidden}
.ace-department-card__media img{width:100%;height:100%;object-fit:cover;display:block}
.ace-department-card__placeholder{display:block;width:100%;height:100%;background:linear-gradient(135deg,#f1eee7,#faf9f6)}
.ace-department-card__body{display:grid;gap:5px;padding:14px 16px 16px}
.ace-department-card__body strong{font-size:17px;line-height:1.2}
.ace-department-card__body span{font-size:13px;color:var(--ace-red);font-weight:800}
.ace-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;font-size:14px;color:var(--ace-muted)}
.ace-breadcrumbs a{color:var(--ace-black);text-decoration:none}
.ace-category-strip{position:relative;margin:0 -2px 18px}
.ace-category-strip:after{content:"";position:absolute;right:0;top:0;bottom:10px;width:34px;pointer-events:none;background:linear-gradient(to right,rgba(255,255,255,0),#fff 76%)}
.ace-category-chips{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:4px 36px 12px 2px;margin:0;scrollbar-width:thin;scroll-snap-type:x proximity}
.ace-category-chips a{flex:0 0 auto;scroll-snap-align:start;border:1px solid var(--ace-border);border-radius:999px;padding:9px 14px;background:#fff;color:var(--ace-black);font-weight:700;text-decoration:none}
.ace-category-chips a:hover{border-color:var(--ace-red);color:var(--ace-red)}
.ace-product-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:16px 0;padding:12px 0;border-top:1px solid var(--ace-border);border-bottom:1px solid var(--ace-border)}
.ace-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.ace-product-card{display:flex;flex-direction:column;border:1px solid var(--ace-border);border-radius:14px;background:#fff;overflow:hidden}
.ace-product-card__image{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:#fff;padding:14px;border-bottom:1px solid #f0ede7}
.ace-product-card__image img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.ace-product-card__body{display:flex;flex:1;flex-direction:column;padding:14px}
.ace-product-card__sku{font-size:12px;font-weight:800;letter-spacing:.04em;color:var(--ace-muted);margin-bottom:4px}
.ace-product-card h3{margin:0 0 9px;font-size:16px;line-height:1.35}
.ace-product-card h3 a{color:var(--ace-black);text-decoration:none}
.ace-product-card__price{margin:auto 0 12px;font-size:18px;font-weight:900;color:var(--ace-black)}
.ace-product-card .ace-button{width:100%}
.ace-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px}
.ace-pagination a{font-weight:800;color:var(--ace-red);text-decoration:none}
.ace-catalogue__empty{padding:32px;border:1px solid var(--ace-border);border-radius:14px;background:var(--ace-warm);text-align:center}
.ace-catalogue__empty h2{margin-top:0}

/* Reduce common Divi page-builder whitespace around our standalone catalogue. */
body.page .et-l--post .et_builder_inner_content > .et_pb_section:has(.ace-catalogue){
  padding-top:0!important;
}
body.page .et-l--post .et_builder_inner_content > .et_pb_section:has(.ace-catalogue) .et_pb_row{
  padding-top:0!important;
  margin-top:0!important;
}

@media(max-width:980px){
  .ace-department-grid,.ace-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .ace-catalogue{padding-left:14px;padding-right:14px;padding-top:14px}
  .ace-department-grid,.ace-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .ace-catalogue__search{grid-template-columns:1fr}
  .ace-product-toolbar{align-items:flex-start;flex-direction:column}
  .ace-department-card__body{padding:12px}
  .ace-department-card__body strong{font-size:15px}
  .ace-catalogue__reassurance{border-radius:12px}
}
@media(max-width:420px){
  .ace-product-card__body{padding:11px}
  .ace-product-card h3{font-size:14px}
  .ace-product-card__price{font-size:16px}
}

.ace-catalogue__quote-bar{
	display:flex;justify-content:space-between;align-items:center;gap:18px;
	margin:-6px 0 26px;padding:14px 16px;border:1px solid var(--ace-border);
	border-radius:12px;background:var(--ace-warm)
}
.ace-catalogue__quote-bar>div{display:grid;gap:2px}
.ace-catalogue__quote-bar strong{font-size:15px;color:var(--ace-black)}
.ace-catalogue__quote-bar span{font-size:13px;color:var(--ace-muted)}
.ace-button--quote-list{gap:9px;white-space:nowrap;background:var(--ace-black)}
.ace-button--quote-list span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#fff;color:var(--ace-black);font-size:12px;font-weight:900}
.ace-catalogue__quote-empty-count{white-space:nowrap;font-weight:700}
@media(max-width:700px){
	.ace-catalogue__quote-bar{align-items:flex-start;flex-direction:column}
}


/* =========================================================
   v0.7.0 — Curated department navigation
   ========================================================= */

.ace-department-grid--curated .ace-department-card__title {
	text-transform: none;
	letter-spacing: 0;
}

.ace-department-grid--curated .ace-department-card__title,
.ace-catalogue__category-chip {
	overflow-wrap: anywhere;
}

@media (max-width: 767px) {
	.ace-department-grid--curated .ace-department-card__title {
		font-size: 18px;
		line-height: 1.2;
	}
}


/* =========================================================
   v0.7.1 — Progressive category navigation
   ========================================================= */

.ace-catalogue__category-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.ace-catalogue__category-chip {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 14px;
	border: 1px solid var(--ace-border);
	border-radius: 999px;
	background: #fff;
	color: var(--ace-black);
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
}

.ace-catalogue__category-chip:hover,
.ace-catalogue__category-chip:focus {
	border-color: var(--ace-red);
	color: var(--ace-red);
}

@media (max-width: 767px) {
	.ace-catalogue__category-chips {
		gap: 8px;
		overflow-x: auto;
		flex-wrap: nowrap;
		padding-bottom: 4px;
	}

	.ace-catalogue__category-chip {
		flex: 0 0 auto;
		min-height: 40px;
		padding: 8px 12px;
		font-size: 14px;
	}
}


/* =========================================================
   v0.7.2 — Shop search fallback into Build a Quote
   ========================================================= */

.ace-shop-search-fallback {
	margin: 22px 0;
	padding: 18px;
	border: 1px solid var(--ace-border);
	border-radius: 14px;
	background: var(--ace-warm);
}

.ace-shop-search-fallback__copy {
	display: grid;
	gap: 4px;
	margin-bottom: 14px;
}

.ace-shop-search-fallback__copy strong {
	font-size: 18px;
	color: var(--ace-black);
}

.ace-shop-search-fallback__copy span {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ace-muted);
}

.ace-shop-search-fallback__products {
	display: grid;
	gap: 10px;
	margin-bottom: 14px;
}

.ace-shop-search-fallback__product {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 3px 14px;
	padding: 12px 14px;
	border: 1px solid var(--ace-border);
	border-radius: 10px;
	background: #fff;
	color: var(--ace-black);
	text-decoration: none;
}

.ace-shop-search-fallback__name {
	font-weight: 800;
}

.ace-shop-search-fallback__sku {
	grid-column: 1;
	font-size: 12px;
	color: var(--ace-muted);
}

.ace-shop-search-fallback__action {
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	color: var(--ace-red);
	font-size: 13px;
	font-weight: 900;
	white-space: nowrap;
}

@media (max-width: 640px) {
	.ace-shop-search-fallback__product {
		grid-template-columns: 1fr;
	}

	.ace-shop-search-fallback__action {
		grid-column: 1;
		grid-row: auto;
		margin-top: 4px;
		white-space: normal;
	}
}


/* =========================================================
   v0.7.7 — Wider catalogue landing pages
   ========================================================= */

/*
 * Align Shop Online and Build a Quote more closely with the wider visual
 * proportions used elsewhere on the Ace website, without going edge-to-edge.
 */
body.ace-commerce-catalogue-page .ace-catalogue,
body.ace-commerce-catalogue-page .ace-catalogue__inner,
body.ace-commerce-catalogue-page .ace-catalogue-shell {
	width: min(92vw, 1440px) !important;
	max-width: 1440px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* If the shortcode is sitting inside a narrower Divi/Woo wrapper, allow it
   to use the wider catalogue width while remaining centred. */
body.ace-commerce-catalogue-page #main-content .container,
body.ace-commerce-catalogue-page #main-content .et_pb_row,
body.ace-commerce-catalogue-page .et-l--post .et_pb_row {
	width: min(92vw, 1440px) !important;
	max-width: 1440px !important;
}

/* Keep text measures readable even though the overall page is wider. */
body.ace-commerce-catalogue-page .ace-catalogue__intro,
body.ace-commerce-catalogue-page .ace-catalogue__lead {
	max-width: 920px;
}

/* Let department grids make better use of desktop width. */
@media (min-width: 1200px) {
	body.ace-commerce-catalogue-page .ace-department-grid,
	body.ace-commerce-catalogue-page .ace-department-grid--curated {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	body.ace-commerce-catalogue-page .ace-catalogue,
	body.ace-commerce-catalogue-page .ace-catalogue__inner,
	body.ace-commerce-catalogue-page .ace-catalogue-shell,
	body.ace-commerce-catalogue-page #main-content .container,
	body.ace-commerce-catalogue-page #main-content .et_pb_row,
	body.ace-commerce-catalogue-page .et-l--post .et_pb_row {
		width: min(94vw, 1440px) !important;
	}
}

@media (max-width: 767px) {
	body.ace-commerce-catalogue-page .ace-catalogue,
	body.ace-commerce-catalogue-page .ace-catalogue__inner,
	body.ace-commerce-catalogue-page .ace-catalogue-shell,
	body.ace-commerce-catalogue-page #main-content .container,
	body.ace-commerce-catalogue-page #main-content .et_pb_row,
	body.ace-commerce-catalogue-page .et-l--post .et_pb_row {
		width: calc(100% - 28px) !important;
	}
}


/* =========================================================
   v0.7.8 — Full-width catalogue row correction
   ========================================================= */

body .ace-catalogue,
body .ace-catalogue__inner,
body .ace-catalogue-shell {
	width: 100% !important;
	max-width: 100% !important;
}

body:has(.ace-catalogue) #main-content,
body:has(.ace-catalogue) #main-content .container,
body:has(.ace-catalogue) #main-content .et_pb_section,
body:has(.ace-catalogue) #main-content .et_pb_row,
body:has(.ace-catalogue) #main-content .et_pb_column,
body:has(.ace-catalogue) #main-content .et_pb_module,
body:has(.ace-catalogue) .et-l--post .et_pb_section,
body:has(.ace-catalogue) .et-l--post .et_pb_row,
body:has(.ace-catalogue) .et-l--post .et_pb_column,
body:has(.ace-catalogue) .et-l--post .et_pb_module {
	width: 100% !important;
	max-width: 100% !important;
}

body:has(.ace-catalogue) #main-content .container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body:has(.ace-catalogue) .ace-catalogue {
	box-sizing: border-box;
	padding-left: clamp(24px, 4vw, 72px);
	padding-right: clamp(24px, 4vw, 72px);
}

@media (min-width: 1280px) {
	body:has(.ace-catalogue) .ace-department-grid,
	body:has(.ace-catalogue) .ace-department-grid--curated {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

@media (max-width: 980px) {
	body:has(.ace-catalogue) .ace-catalogue {
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media (max-width: 767px) {
	body:has(.ace-catalogue) .ace-catalogue {
		padding-left: 14px;
		padding-right: 14px;
	}
}


/* =========================================================
   v0.7.9 — Catalogue visual refinement
   ========================================================= */

/*
 * Keep the Divi rows full-width, but give the actual catalogue content a
 * consistent working canvas so Shop Online / Build a Quote feel deliberate
 * rather than stretched.
 */
body:has(.ace-catalogue) .ace-catalogue {
	width: 100% !important;
	max-width: 1560px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(28px, 4vw, 72px) !important;
	padding-right: clamp(28px, 4vw, 72px) !important;
	box-sizing: border-box;
}

/* Tighter top rhythm beneath the global header. */
body:has(.ace-catalogue) .ace-catalogue {
	padding-top: clamp(34px, 4vw, 58px);
	padding-bottom: 52px;
}

/* Headings and intro copy */
body:has(.ace-catalogue) .ace-catalogue__eyebrow {
	margin-bottom: 8px;
	letter-spacing: 0.12em;
}

body:has(.ace-catalogue) .ace-catalogue h1 {
	margin-bottom: 12px;
	line-height: 1.02;
}

body:has(.ace-catalogue) .ace-catalogue__intro,
body:has(.ace-catalogue) .ace-catalogue__lead {
	max-width: 880px;
	margin-bottom: 16px;
	line-height: 1.55;
}

/* Search row: align cleanly with the catalogue grid */
body:has(.ace-catalogue) .ace-catalogue__search,
body:has(.ace-catalogue) .ace-catalogue-search {
	margin-top: 18px;
	margin-bottom: 18px;
}

body:has(.ace-catalogue) .ace-catalogue__search form,
body:has(.ace-catalogue) .ace-catalogue-search form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: stretch;
}

body:has(.ace-catalogue) .ace-catalogue__search input[type="search"],
body:has(.ace-catalogue) .ace-catalogue-search input[type="search"] {
	min-height: 52px;
}

body:has(.ace-catalogue) .ace-catalogue__search button,
body:has(.ace-catalogue) .ace-catalogue-search button {
	min-width: 112px;
	min-height: 52px;
}

/* Shop reassurance pill */
body:has(.ace-catalogue) .ace-catalogue__reassurance,
body:has(.ace-catalogue) .ace-catalogue__trust {
	margin-top: 10px;
	margin-bottom: 18px;
}

/* Build-a-Quote status bar */
body:has(.ace-catalogue) .ace-quote-status,
body:has(.ace-catalogue) .ace-catalogue__quote-status {
	margin-top: 14px;
	margin-bottom: 26px;
	padding: 14px 16px;
	border-radius: 12px;
}

/* Browse departments heading rhythm */
body:has(.ace-catalogue) .ace-catalogue__section-title,
body:has(.ace-catalogue) .ace-catalogue h2 {
	margin-top: 26px;
	margin-bottom: 6px;
}

body:has(.ace-catalogue) .ace-catalogue__section-copy {
	margin-bottom: 16px;
}

/* Department grid: cleaner large-screen proportions */
body:has(.ace-catalogue) .ace-department-grid,
body:has(.ace-catalogue) .ace-department-grid--curated {
	gap: 18px;
	align-items: stretch;
}

body:has(.ace-catalogue) .ace-department-card {
	height: 100%;
	border-radius: 14px;
	overflow: hidden;
}

body:has(.ace-catalogue) .ace-department-card__image,
body:has(.ace-catalogue) .ace-department-card img {
	aspect-ratio: 16 / 9;
	width: 100%;
	object-fit: cover;
	display: block;
}

body:has(.ace-catalogue) .ace-department-card__body {
	min-height: 94px;
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
}

body:has(.ace-catalogue) .ace-department-card__title {
	margin: 0;
	line-height: 1.2;
}

body:has(.ace-catalogue) .ace-department-card__action {
	margin-top: auto;
}

/* 5 columns only where there is genuinely enough room. */
@media (min-width: 1480px) {
	body:has(.ace-catalogue) .ace-department-grid,
	body:has(.ace-catalogue) .ace-department-grid--curated {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

/* More comfortable 4-column desktop/tablet breakpoint. */
@media (min-width: 981px) and (max-width: 1479px) {
	body:has(.ace-catalogue) .ace-department-grid,
	body:has(.ace-catalogue) .ace-department-grid--curated {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 700px) and (max-width: 980px) {
	body:has(.ace-catalogue) .ace-department-grid,
	body:has(.ace-catalogue) .ace-department-grid--curated {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 699px) {
	body:has(.ace-catalogue) .ace-catalogue {
		padding-top: 28px;
		padding-bottom: 38px;
		padding-left: 14px !important;
		padding-right: 14px !important;
	}

	body:has(.ace-catalogue) .ace-catalogue h1 {
		margin-bottom: 10px;
	}

	body:has(.ace-catalogue) .ace-catalogue__search form,
	body:has(.ace-catalogue) .ace-catalogue-search form {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	body:has(.ace-catalogue) .ace-catalogue__search button,
	body:has(.ace-catalogue) .ace-catalogue-search button {
		width: 100%;
		min-width: 0;
	}

	body:has(.ace-catalogue) .ace-department-grid,
	body:has(.ace-catalogue) .ace-department-grid--curated {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	body:has(.ace-catalogue) .ace-department-card__body {
		min-height: 82px;
		padding: 12px 14px 14px;
	}
}


/* =========================================================
   v0.8.1 — Cross-commerce consistency polish
   ========================================================= */

body:has(.ace-catalogue) .ace-button,
body:has(.ace-catalogue) button,
body:has(.ace-catalogue) input[type="submit"] {
	border-radius: 10px;
	font-weight: 800;
}

body:has(.ace-catalogue) .ace-department-card,
body:has(.ace-catalogue) .ace-shop-search-fallback__product {
	box-shadow: 0 1px 0 rgba(0,0,0,.03);
}

body:has(.ace-catalogue) .ace-department-card:hover {
	transform: translateY(-1px);
	transition: transform .16s ease, box-shadow .16s ease;
	box-shadow: 0 8px 22px rgba(0,0,0,.06);
}

/* =========================================================
   v0.8.9 — Search results, filters and sorting
   ========================================================= */

.ace-catalogue--results .ace-catalogue__hero {
	margin-bottom: 14px;
}

.ace-catalogue--results .ace-catalogue__hero h1 {
	margin-bottom: 8px;
}

.ace-catalogue-filters {
	margin: 4px 0 20px;
	padding: 16px;
	border: 1px solid var(--ace-border);
	border-radius: 14px;
	background: var(--ace-warm);
}

.ace-catalogue-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 14px;
}

.ace-catalogue-filters__head > div {
	display: grid;
	gap: 2px;
}

.ace-catalogue-filters__head strong {
	color: var(--ace-black);
	font-size: 15px;
}

.ace-catalogue-filters__head span {
	color: var(--ace-muted);
	font-size: 13px;
}

.ace-catalogue-filters__toggle {
	display: none;
	min-height: 40px;
	padding: 8px 13px;
	border: 1px solid var(--ace-border);
	border-radius: 9px;
	background: #fff;
	color: var(--ace-black);
	font-weight: 800;
	cursor: pointer;
}

.ace-catalogue-filters__fields {
	display: grid;
	grid-template-columns: minmax(150px,1.15fr) minmax(140px,1fr) minmax(112px,.65fr) minmax(112px,.65fr) minmax(170px,1fr) auto;
	gap: 12px;
	align-items: end;
}

.ace-catalogue-filters__fields > label:not(.ace-catalogue-filters__check) {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.ace-catalogue-filters__fields label > span {
	color: #4e4a44;
	font-size: 12px;
	font-weight: 800;
}

.ace-catalogue-filters select,
.ace-catalogue-filters input[type="number"] {
	width: 100%;
	min-height: 44px;
	padding: 8px 10px;
	border: 1px solid var(--ace-border);
	border-radius: 9px;
	background: #fff;
	color: var(--ace-black);
	font-size: 14px;
}

.ace-catalogue-filters__check {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 2px;
	white-space: nowrap;
}

.ace-catalogue-filters__check input {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--ace-red);
}

.ace-catalogue-filters__actions {
	display: flex;
	align-items: center;
	gap: 11px;
	grid-column: 1 / -1;
	padding-top: 2px;
}

.ace-catalogue-filters__actions .ace-button {
	min-height: 44px;
}

.ace-catalogue-filters__clear,
.ace-product-toolbar__clear {
	color: var(--ace-red) !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.ace-product-toolbar--results {
	margin-top: 18px;
}

.ace-product-toolbar__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 5px 8px;
}

.ace-product-toolbar__summary > span:first-child {
	color: var(--ace-muted);
	font-size: 13px;
}

.ace-product-toolbar__summary > strong {
	color: var(--ace-black);
	font-size: 16px;
}

.ace-product-toolbar__count {
	color: var(--ace-muted);
	font-size: 13px;
}

@media (max-width: 1180px) {
	.ace-catalogue-filters__fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ace-catalogue-filters__check {
		align-self: end;
	}
}

@media (max-width: 700px) {
	.ace-catalogue-filters {
		padding: 13px;
	}

	.ace-catalogue-filters__head {
		margin-bottom: 0;
	}

	.ace-catalogue-filters__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.ace-catalogue-filters__fields {
		display: none;
		grid-template-columns: 1fr;
		gap: 10px;
		margin-top: 14px;
	}

	.ace-catalogue-filters__fields.is-open {
		display: grid;
	}

	.ace-catalogue-filters__check {
		min-height: 38px;
	}

	.ace-catalogue-filters__actions {
		align-items: stretch;
		flex-direction: column;
	}

	.ace-catalogue-filters__actions .ace-button,
	.ace-catalogue-filters__clear {
		width: 100%;
		text-align: center;
	}

	.ace-product-toolbar--results {
		gap: 8px;
	}
}

/* =========================================================
   v0.8.10 — Alphabet index + numbered pagination
   ========================================================= */

.ace-alpha-index {display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 20px;padding:12px 14px;border:1px solid var(--ace-border);border-radius:12px;background:#fff;}
.ace-alpha-index__label {margin-right:4px;color:var(--ace-muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;}
.ace-alpha-index__letter,.ace-alpha-index__all {min-width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;padding:0 7px;border:1px solid var(--ace-border);border-radius:7px;background:var(--ace-warm);color:var(--ace-black)!important;font-size:13px;font-weight:800;text-decoration:none;}
.ace-alpha-index__letter:hover,.ace-alpha-index__all:hover,.ace-alpha-index__letter.is-active {border-color:var(--ace-black);background:var(--ace-black);color:#fff!important;}
.ace-alpha-index__letter.is-disabled {border-color:#ece9e2;background:#faf9f6;color:#bbb6ae!important;cursor:default;}
.ace-alpha-index__all {min-width:42px;margin-left:4px;}
.ace-pagination--numbered {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:28px;}
.ace-pagination__numbers {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;}
.ace-pagination__page,.ace-pagination__prev,.ace-pagination__next {min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border:1px solid var(--ace-border);border-radius:8px;background:#fff;color:var(--ace-black)!important;font-size:14px;font-weight:800;text-decoration:none;}
.ace-pagination__page {min-width:38px;padding-left:8px;padding-right:8px;}
.ace-pagination__page:hover,.ace-pagination__page.is-current {border-color:var(--ace-red);background:var(--ace-red);color:#fff!important;}
.ace-pagination__ellipsis {padding:0 3px;color:var(--ace-muted);}
.ace-pagination .is-disabled {opacity:.42;cursor:default;}
@media (max-width:600px){.ace-alpha-index{gap:5px;padding:10px}.ace-alpha-index__label{width:100%;margin-bottom:2px}.ace-alpha-index__letter{min-width:28px;height:28px;padding:0 5px;font-size:12px}.ace-pagination--numbered{gap:7px}.ace-pagination__prev,.ace-pagination__next{flex:1 1 auto}.ace-pagination__numbers{order:3;width:100%}}



/* =========================================================
   v0.8.10.1 — Alphabet visibility correction
   ========================================================= */

.ace-alpha-index {
	margin-top: 18px;
	margin-bottom: 22px;
	border-color: #d9d4cc;
	box-shadow: 0 1px 0 rgba(0,0,0,.02);
}

.ace-alpha-index__label {
	width: 100%;
	margin: 0 0 5px;
	color: #4d4943;
	font-size: 12px;
	font-weight: 900;
}

@media (min-width: 701px) {
	.ace-alpha-index__label {
		width: auto;
		margin: 0 8px 0 0;
	}
}


/* =========================================================
   v0.8.11 — Result continuity + quick product-card actions
   ========================================================= */

.ace-product-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin-top: auto;
}

.ace-product-card__actions .ace-button {
	width: 100%;
	min-width: 0;
	margin: 0;
	text-align: center;
}

.ace-product-card__quick-form {
	display: contents;
	margin: 0;
}

.ace-product-card__quick {
	background: #fff !important;
	color: var(--ace-black) !important;
	border: 1px solid var(--ace-border) !important;
	cursor: pointer;
}

.ace-product-card__quick:hover,
.ace-product-card__quick:focus {
	border-color: var(--ace-red) !important;
	color: var(--ace-red) !important;
	background: #fff !important;
}

@media (max-width: 480px) {
	.ace-product-card__actions {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
   v0.8.14 — Search-state clarity + catalogue navigation polish
   ========================================================= */

/* Search field wrapper allows a visible, independent Clear search action. */
.ace-catalogue__search-field {
	position: relative;
	min-width: 0;
}

.ace-catalogue__search-field input {
	padding-right: 110px;
}

.ace-catalogue__clear-search {
	position: absolute;
	top: 50%;
	right: 14px;
	transform: translateY(-50%);
	color: var(--ace-red) !important;
	font-size: 13px;
	font-weight: 850;
	line-height: 1;
	text-decoration: none;
}

.ace-catalogue__clear-search:hover,
.ace-catalogue__clear-search:focus {
	color: var(--ace-red-dark) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Make search-within-filters behaviour explicit. */
.ace-catalogue-filters__head b {
	color: var(--ace-black);
	font-weight: 850;
}

.ace-catalogue-filters__reset {
	color: #5e5952 !important;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

.ace-catalogue-filters__reset:hover,
.ace-catalogue-filters__reset:focus {
	color: var(--ace-red) !important;
}

/* Breadcrumb: retain useful hierarchy but visually subordinate it. */
.ace-breadcrumbs {
	gap: 6px;
	margin: 2px 0 17px;
	padding: 0;
	color: #8b857d;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .015em;
}

.ace-breadcrumbs a {
	color: #6c665f !important;
	font-weight: 750;
	text-decoration: none;
}

.ace-breadcrumbs a:hover,
.ace-breadcrumbs a:focus {
	color: var(--ace-red) !important;
}

.ace-breadcrumbs > span[aria-hidden="true"] {
	color: #c2bdb5;
	font-weight: 500;
}

.ace-breadcrumbs > span:last-child {
	color: #969087;
	font-weight: 650;
}

/* Subcategory navigation: a clearly-labelled secondary browse tool. */
.ace-category-strip {
	margin: 0 0 23px;
	padding: 14px 14px 2px;
	border: 1px solid var(--ace-border);
	border-radius: 13px;
	background: #faf9f6;
}

.ace-category-strip:after {
	right: 14px;
	top: 38px;
	bottom: 9px;
	background: linear-gradient(to right, rgba(250,249,246,0), #faf9f6 76%);
}

.ace-category-strip__label {
	margin: 0 0 7px 2px;
	color: #6d675f;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.ace-category-chips {
	gap: 8px;
	padding: 3px 34px 10px 1px;
}

.ace-category-chips a {
	padding: 8px 13px;
	border-radius: 9px;
	background: #fff;
	font-size: 13px;
	font-weight: 800;
	box-shadow: 0 1px 0 rgba(0,0,0,.015);
}

@media (max-width: 700px) {
	.ace-catalogue__search-field input {
		padding-right: 100px;
	}

	.ace-catalogue__clear-search {
		right: 11px;
		font-size: 12px;
	}

	.ace-category-strip {
		padding: 12px 11px 1px;
		border-radius: 11px;
	}

	.ace-category-strip:after {
		right: 11px;
		top: 36px;
	}

	.ace-category-chips {
		padding-right: 30px;
	}
}
