/* Start custom CSS *//* Groceries v3 Heritage – page Custom CSS.
   Saved through the Elementor MCP (update-page-settings → custom_css).
   Layout, type and colours live on the V4 elements and the hr-* global classes;
   this file only holds what those can't express. */

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

/* Theme wrapper uses overflow:hidden, which stops the sidebar sticking */
#qodef-page-wrapper{overflow:clip !important;}
/* Theme pads page content 130px/100px; the hero sits right under the header */
#qodef-page-inner{padding-top:0 !important;padding-bottom:0 !important;}

/* Script holder (HTML widget) takes no space */
body.elementor-page-24238 .elementor-widget-html{display:none;}

/* Accordion: no native marker, square +/- toggle */
body.elementor-page-24238 .hr-acc-header{list-style:none;}
body.elementor-page-24238 .hr-acc-header::-webkit-details-marker{display:none;}
body.elementor-page-24238 .hr-acc-icon{transform:none !important;}
body.elementor-page-24238 .hr-acc-icon > *{display:none !important;}
body.elementor-page-24238 .hr-acc-icon::before,
body.elementor-page-24238 .hr-acc-icon::after{content:'';position:absolute;top:50%;left:50%;width:10px;height:1.5px;background:var(--hr-ink);transform:translate(-50%,-50%);transition:transform .2s,opacity .2s;}
body.elementor-page-24238 .hr-acc-icon::after{transform:translate(-50%,-50%) rotate(90deg);}
body.elementor-page-24238 details[open] > summary .hr-acc-icon::after{transform:translate(-50%,-50%) rotate(0deg);opacity:0;}
body.elementor-page-24238 .hr-acc-header:hover .hr-acc-name{color:var(--hr-terracotta);}

/* Filter field search icon (V4 styles drop data: URIs) */
body.elementor-page-24238 #hr-filter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%235e574b' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;}
body.elementor-page-24238 #hr-filter::placeholder{color:var(--hr-muted);opacity:1;}

/* Product rows */
body.elementor-page-24238 .hr-thumb-img:not([src]),
body.elementor-page-24238 .hr-thumb-img[src=""]{display:none;}
body.elementor-page-24238 .hr-prod-name a{color:inherit;text-decoration:none;}
body.elementor-page-24238 .hr-prod-size:empty{display:none;}
body.elementor-page-24238 .hr-row[hidden],
body.elementor-page-24238 .hr-acc-item[hidden]{display:none !important;}
body.elementor-page-24238 .hr-add-btn.is-added,
body.elementor-page-24238 .hr-add-btn.is-added:hover{background-color:var(--hr-forest);}
body.elementor-page-24238 .hr-add-btn.is-busy{opacity:.75;pointer-events:none;}
body.elementor-page-24238 .hr-row-error{grid-column:1 / -1;font-size:12.5px;color:var(--hr-terracotta);}

/* Sidebar active state (set by the script) */
body.elementor-page-24238 .hr-side-link.is-active{border-left-color:var(--hr-terracotta);font-weight:600;color:var(--hr-ink);}
@media (max-width:1024px){
body.elementor-page-24238 .hr-side-link.is-active{border-color:var(--hr-terracotta);color:var(--hr-terracotta);}
body.elementor-page-24238 .hr-side-link{scroll-snap-align:start;}
}

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

/* In-store sections (empty product loop): no table header */
body.elementor-page-24238 .hr-acc-item:has([id^="e-collection-loop-layout"][style*="none"]) .hr-thead{display:none;}

/* Cakes – added to the Heritage page CSS by cakes/build-page.php */

/* "From $37.99" needs a wider price column than Groceries / Our Bakery prices (same as Catering) */
@media (min-width:768px){
body.elementor-page-24238 .hr-row,
body.elementor-page-24238 .hr-thead{grid-template-columns:48px minmax(0,1fr) 98px 98px 104px;}
}
body.elementor-page-24238 .hr-price{white-space:nowrap;}

/* Signature tag: empty for every other cake */
body.elementor-page-24238 .hr-name-col .e-paragraph-base:empty{display:none;}

/* Sidebar contact box links */
body.elementor-page-24238 aside p a{color:var(--hr-terracotta);font-weight:600;text-decoration:none;}
body.elementor-page-24238 aside p a:hover{color:var(--hr-terracotta-dark);text-decoration:underline;}

/* Info strip icons (Lucide, outline): the SVG strokes follow the element's colour. Elementor's SVG styles
   render the icon with fill="currentColor", which turns outline icons solid. Outline icons draw with stroke only. */
body.elementor-page-24238 .e-svg-base svg{width:100%;height:100%;display:block;}
body.elementor-page-24238 .e-svg-base svg[stroke],
body.elementor-page-24238 .e-svg-base svg[stroke] *{fill:none;}/* End custom CSS */