.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-24249 .elementor-element.elementor-element-99115c2 .cart button, .elementor-24249 .elementor-element.elementor-element-99115c2 .cart .button{transition:all 0.2s;}.elementor-24249 .elementor-element.elementor-element-99115c2 .quantity .qty{transition:all 0.2s;}/* Start custom CSS *//* Shop (Heritage) – Products Archive template Custom CSS. Source: stage2-work/shop/template.css
   Layout, type and colours live on the V4 elements and the sh-* / hr-* / gb-* global classes. This file holds what
   those can't express: the [mm_shop] toolbar pieces (snippet #15), WooCommerce's grid button, the list view, the
   current-row markers (body classes from snippet #15) and the phone layout. */

body.elementor-page-24249{background-color:var(--hr-cream);}

/* Focus, as on every Heritage page */
body.elementor-page-24249 a:focus-visible,
body.elementor-page-24249 button:focus-visible,
body.elementor-page-24249 input:focus-visible,
body.elementor-page-24249 select:focus-visible,
body.elementor-page-24249 summary:focus-visible{outline:2px solid var(--hr-terracotta);outline-offset:2px;}

/* Links inside V4 paragraphs take the paragraph's colour */
body.elementor-page-24249 .sh-row,
body.elementor-page-24249 .sh-row:hover{text-decoration:none;}
body.elementor-page-24249 .sh-kicker a,
body.elementor-page-24249 .sh-sub a,
body.elementor-page-24249 .hr-prod-name a,
body.elementor-page-24249 #sh-depts summary a{color:inherit;text-decoration:none;}
body.elementor-page-24249 #sh-help a,
body.elementor-page-24249 #sh-empty-note a{color:var(--hr-terracotta);font-weight:600;text-decoration:none;}
body.elementor-page-24249 #sh-help a:hover,
body.elementor-page-24249 #sh-empty-note a:hover{color:var(--hr-terracotta-dark);}

/* Lucide icons draw with strokes; Elementor's SVG element would fill them */
body.elementor-page-24249 .e-svg-base svg{width:100%;height:100%;display:block;}
body.elementor-page-24249 .e-svg-base svg *{fill:none;stroke:currentColor;}

/* ---------- Departments ---------- */
body.elementor-page-24249 #sh-depts summary{list-style:none;}
body.elementor-page-24249 #sh-depts summary::-webkit-details-marker{display:none;}
/* No season name in Shop Sections → Shop page = no seasonal row */
body.elementor-page-24249 #sh-season:has(> :first-child:empty){display:none;}
/* The current row: a 2px brick marker (department rows are bold while one of their categories is chosen).
   No "body.elementor-page-24249" prefix here: in a template's CSS Elementor turns it into body.elementor-page-<id>, which can't follow body.… */
body.mm-shop-all #sh-all{border-left-color:var(--hr-terracotta);font-weight:600;}
body.mm-shop-season #sh-season{border-left-color:var(--hr-terracotta);}
body.mm-shop-dept-cakes #sh-depts details:has(> summary a[href*="dept=cakes"]) > summary :is(span, a),
body.mm-shop-dept-bakery #sh-depts details:has(> summary a[href*="dept=bakery"]) > summary :is(span, a),
body.mm-shop-dept-groceries #sh-depts details:has(> summary a[href*="dept=groceries"]) > summary :is(span, a),
body.mm-shop-dept-catering #sh-depts details:has(> summary a[href*="dept=catering"]) > summary :is(span, a){font-weight:600;}
body.mm-shop-dept-cakes:not(.mm-shop-has-cat) #sh-depts details:has(> summary a[href*="dept=cakes"]) > summary,
body.mm-shop-dept-bakery:not(.mm-shop-has-cat) #sh-depts details:has(> summary a[href*="dept=bakery"]) > summary,
body.mm-shop-dept-groceries:not(.mm-shop-has-cat) #sh-depts details:has(> summary a[href*="dept=groceries"]) > summary,
body.mm-shop-dept-catering:not(.mm-shop-has-cat) #sh-depts details:has(> summary a[href*="dept=catering"]) > summary{border-left-color:var(--hr-terracotta);}
/* The chosen category (shop.js marks it) */
body.elementor-page-24249 .sh-sub.is-current{color:var(--hr-terracotta);font-weight:600;}

/* ---------- Dietary ([mm_shop part="diet"]) ---------- */
body.elementor-page-24249 .sh-diets{display:flex;flex-direction:column;gap:10px;}
body.elementor-page-24249 .sh-diet{display:flex;align-items:center;gap:10px;padding:2px 0;font:400 14px/1.5 var(--hr-body),sans-serif;color:var(--hr-ink);text-decoration:none;transition:color .12s;}
body.elementor-page-24249 .sh-diet:hover{color:var(--hr-terracotta);}
body.elementor-page-24249 .sh-box{display:grid;place-items:center;width:18px;height:18px;flex:none;border:1.5px solid var(--hr-ink);box-sizing:border-box;color:var(--hr-cream);}
body.elementor-page-24249 .sh-diet[aria-checked="true"] .sh-box{background:var(--hr-ink);}
body.elementor-page-24249 .sh-box svg{display:block;}

/* ---------- Toolbar: search, count, sort, grid / list ---------- */
body.elementor-page-24249 .sh-search-wrap{flex:1 1 240px;max-width:380px;min-width:0;}
body.elementor-page-24249 .sh-count-wrap,
body.elementor-page-24249 .sh-sort-wrap,
body.elementor-page-24249 .sh-view-wrap{width:auto;flex:none;}
body.elementor-page-24249 .sh-search{display:flex;align-items:center;gap:8px;height:40px;margin:0;padding:0 12px;border:1px solid var(--hr-border-field);background:var(--hr-field);color:var(--hr-muted);box-sizing:border-box;cursor:text;}
body.elementor-page-24249 .sh-search:focus-within{outline:2px solid var(--hr-terracotta);outline-offset:2px;}
body.elementor-page-24249 .sh-search svg{flex:none;display:block;}
body.elementor-page-24249 .sh-search input[type="search"]{
	flex:1 1 auto;width:100%;min-width:0;height:38px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;
	color:var(--hr-ink);font:400 14px/1 var(--hr-body),sans-serif;-webkit-appearance:none;appearance:none;
}
body.elementor-page-24249 .sh-search input[type="search"]:focus-visible{outline:none;}
body.elementor-page-24249 .sh-search input[type="search"]::placeholder{color:#a39e90;opacity:1;}
body.elementor-page-24249 .sh-count{font:400 13px/1.4 var(--hr-body),sans-serif;color:var(--hr-muted);white-space:nowrap;}
body.elementor-page-24249 .sh-sort{display:flex;align-items:center;gap:8px;font:400 13px/1 var(--hr-body),sans-serif;color:var(--hr-muted);}
body.elementor-page-24249 .sh-sort .woocommerce-ordering{margin:0;float:none;}
body.elementor-page-24249 .sh-sort .woocommerce-ordering select{
	height:40px;margin:0;padding:0 32px 0 12px;border:1px solid var(--hr-border-field);border-radius:0;background-color:var(--hr-field);
	color:var(--hr-ink);font:400 13.5px/1 var(--hr-body),sans-serif;box-shadow:none;cursor:pointer;
}
body.elementor-page-24249 .sh-view{display:flex;border:1px solid var(--hr-border-field);background:var(--hr-field);}
body.elementor-page-24249 .sh-view button{
	display:grid;place-items:center;width:40px;height:38px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--hr-ink);
	box-shadow:none;cursor:pointer;transition:background-color .12s,color .12s;
}
body.elementor-page-24249 .sh-view button:hover{color:var(--hr-terracotta);}
body.elementor-page-24249 .sh-view button[aria-pressed="true"]{background:var(--hr-ink);color:var(--hr-cream);}
body.elementor-page-24249 .sh-view svg{display:block;}

/* ---------- Active filter chips ([mm_shop part="chips"]) ---------- */
body.elementor-page-24249 .sh-chips-wrap:not(:has(.sh-chips)),
body.elementor-page-24249 .sh-more-wrap:not(:has(.sh-more)){display:none;}
body.elementor-page-24249 .sh-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
body.elementor-page-24249 .sh-chip{
	display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px 0 12px;border:1px solid var(--hr-ink);background:var(--hr-ink);
	color:var(--hr-cream);font:600 13px/1 var(--hr-body),sans-serif;text-decoration:none;white-space:nowrap;box-sizing:border-box;
	transition:background-color .12s,border-color .12s;
}
body.elementor-page-24249 .sh-chip:hover{background:var(--hr-terracotta);border-color:var(--hr-terracotta);color:var(--hr-cream);}
body.elementor-page-24249 .sh-clear{display:inline-flex;align-items:center;height:32px;padding:0 6px;font:600 13px/1 var(--hr-body),sans-serif;color:var(--hr-terracotta);text-decoration:underline;text-underline-offset:3px;}
body.elementor-page-24249 .sh-clear:hover{color:var(--hr-terracotta-dark);}

/* ---------- Cards (sh-* classes) ---------- */
body.elementor-page-24249 .sh-card{transition:border-color .12s,background-color .12s;}
body.elementor-page-24249 .sh-media .gb-media-img{width:100%;height:100%;object-fit:cover;display:block;}
body.elementor-page-24249 .sh-tag:empty{display:none;}
body.elementor-page-24249 .sh-kicker:empty{display:none;}
body.elementor-page-24249 .gb-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
body.elementor-page-24249 .gb-desc:empty{display:none;}
body.elementor-page-24249 .sh-price{white-space:nowrap;}

/* WooCommerce's grid button (Elementor's Add to Cart widget in the loop): Add to cart over AJAX for simple
   products (brick), Choose options / Choose size links to the product page (outline). shop.js flashes "Added ✓". */
body.elementor-page-24249 .sh-add{width:auto;}
body.elementor-page-24249 .sh-add .e-loop-add-to-cart-form-container,
body.elementor-page-24249 .sh-add .e-loop-add-to-cart-form{margin:0;padding:0;}
body.elementor-page-24249 .sh-add .button{
	display:inline-flex;align-items:center;justify-content:center;height:34px;margin:0;padding:0 14px;border:1px solid var(--hr-terracotta);border-radius:0;
	background:var(--hr-terracotta);color:var(--hr-cream);font:600 13px/1 var(--hr-body),sans-serif;letter-spacing:0;text-transform:none;text-decoration:none;
	box-shadow:none;cursor:pointer;white-space:nowrap;box-sizing:border-box;transition:background-color .12s,border-color .12s,color .12s;
}
body.elementor-page-24249 .sh-add .button::before,
body.elementor-page-24249 .sh-add .button::after{display:none;}
body.elementor-page-24249 .sh-add .button:hover{background:var(--hr-terracotta-dark);border-color:var(--hr-terracotta-dark);color:var(--hr-cream);}
body.elementor-page-24249 .sh-add .button:not(.ajax_add_to_cart){padding:0 12px;background:transparent;border-color:var(--hr-ink);color:var(--hr-ink);}
body.elementor-page-24249 .sh-add .button:not(.ajax_add_to_cart):hover{background:var(--hr-ink);border-color:var(--hr-ink);color:var(--hr-cream);}
body.elementor-page-24249 .sh-add .button.loading{opacity:.7;}
body.elementor-page-24249 .sh-add .button.is-added,
body.elementor-page-24249 .sh-add .button.is-added:hover{background:var(--hr-forest);border-color:var(--hr-forest);color:var(--hr-cream);}
body.elementor-page-24249 .sh-add .added_to_cart{display:none;}

/* Nothing matches (the loop's empty state) */
body.elementor-page-24249 #sh-area .e-collection-loop-empty-state{padding:0;}

/* ---------- List view (shop.js puts is-list on #sh-area) ---------- */
body.elementor-page-24249 #sh-area.is-list .sh-grid{display:flex;flex-direction:column;gap:0;}
body.elementor-page-24249 #sh-area.is-list .sh-card{
	display:grid;grid-template-columns:64px minmax(0,1fr) auto;column-gap:16px;row-gap:2px;align-items:center;
	padding:12px 0;background:transparent;border:0;border-bottom:1px solid var(--hr-line-soft);
}
body.elementor-page-24249 #sh-area.is-list .sh-card:hover{background:var(--hr-row-hover);}
body.elementor-page-24249 #sh-area.is-list .sh-media{grid-column:1;grid-row:1 / span 3;width:64px;height:64px;aspect-ratio:auto;align-self:center;}
body.elementor-page-24249 #sh-area.is-list .sh-tag{display:none;}
body.elementor-page-24249 #sh-area.is-list .sh-text{display:contents;}
body.elementor-page-24249 #sh-area.is-list .sh-kicker,
body.elementor-page-24249 #sh-area.is-list .hr-prod-name,
body.elementor-page-24249 #sh-area.is-list .gb-desc{grid-column:2;}
body.elementor-page-24249 #sh-area.is-list .gb-desc{display:block;-webkit-line-clamp:unset;line-clamp:none;overflow:visible;}
body.elementor-page-24249 #sh-area.is-list .gb-desc:empty{display:none;}
body.elementor-page-24249 #sh-area.is-list .sh-foot{grid-column:3;grid-row:1 / span 3;align-self:center;flex-wrap:nowrap;justify-content:flex-end;gap:14px;margin:0;padding:0;}
body.elementor-page-24249 #sh-area.is-list .sh-price{min-width:96px;text-align:right;font-size:14.5px;}
body.elementor-page-24249 #sh-area.is-list .sh-add .button{width:132px;height:36px;}

/* ---------- Show more ([mm_shop part="more"]) ---------- */
body.elementor-page-24249 .sh-more{display:flex;flex-direction:column;align-items:center;gap:10px;padding-top:24px;}
body.elementor-page-24249 .sh-more-note{font:400 13px/1.4 var(--hr-body),sans-serif;color:var(--hr-muted);}
body.elementor-page-24249 .sh-more-track{display:block;width:220px;height:3px;background:var(--hr-line-soft);}
body.elementor-page-24249 .sh-more-fill{display:block;height:100%;background:var(--hr-ink);}
body.elementor-page-24249 .sh-more-btn{
	display:inline-flex;align-items:center;justify-content:center;margin-top:6px;height:46px;padding:0 26px;border:1px solid var(--hr-ink);
	color:var(--hr-ink);font:600 14.5px/1 var(--hr-body),sans-serif;text-decoration:none;transition:background-color .12s,color .12s;
}
body.elementor-page-24249 .sh-more-btn:hover{background:var(--hr-ink);color:var(--hr-cream);}
body.elementor-page-24249 .sh-more-btn.is-loading{opacity:.6;pointer-events:none;}

/* ---------- Narrow screens ---------- */
/* The sidebar and the products stack once they no longer fit side by side; the sidebar then folds behind the
   Filters button (shop.js adds is-collapsible, so without the script it simply stays open) */
@media (max-width:900px){
	body.elementor-page-24249 #sh-side{flex:1 1 100%;width:100%;position:static;gap:18px;}
	body.elementor-page-24249 #sh-filter-btn{display:flex;}
	body.elementor-page-24249 #sh-side.is-collapsible:not(.is-open) > :not(#sh-filter-btn){display:none;}
}
@media (max-width:767px){
	body.elementor-page-24249 .sh-search-wrap{flex-basis:100%;max-width:none;}
	body.elementor-page-24249 #sh-area.is-list .sh-card{grid-template-columns:64px minmax(0,1fr);}
	body.elementor-page-24249 #sh-area.is-list .sh-media{grid-row:1 / span 4;}
	body.elementor-page-24249 #sh-area.is-list .sh-foot{grid-column:2;grid-row:auto;justify-content:space-between;padding-top:6px;}
	body.elementor-page-24249 #sh-area.is-list .sh-price{min-width:0;text-align:left;}
}/* End custom CSS */