.elementor-23856 .elementor-element.elementor-element-cab627d{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--flex-wrap:nowrap;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:var( --e-global-color-footerputty );--border-color:var( --e-global-color-footerputty );--padding-top:18px;--padding-bottom:18px;--padding-left:40px;--padding-right:40px;}.elementor-23856 .elementor-element.elementor-element-cab627d:not(.elementor-motion-effects-element-type-background), .elementor-23856 .elementor-element.elementor-element-cab627d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-cream );}.elementor-23856 .elementor-element.elementor-element-3916888{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--flex-wrap:nowrap;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-menu-toggle{margin-right:auto;}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu .elementor-item{font-family:"Raleway", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );padding-left:0px;padding-right:0px;}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-oxblood );fill:var( --e-global-color-oxblood );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-oxblood );}.elementor-23856 .elementor-element.elementor-element-4006ed4{--e-nav-menu-horizontal-menu-item-margin:calc( 26px / 2 );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:26px;}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a, .elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-menu-toggle{color:var( --e-global-color-primary );fill:var( --e-global-color-primary );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a:hover,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a:focus,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a.highlighted,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-menu-toggle:hover,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-menu-toggle:focus{color:var( --e-global-color-oxblood );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a:hover,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a:focus,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a.elementor-item-active,
					.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a.highlighted{background-color:var( --e-global-color-accent );}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown .elementor-item, .elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Raleway", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;}.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-nav-menu--dropdown a{padding-left:40px;padding-right:40px;padding-top:16px;padding-bottom:16px;}.elementor-23856 .elementor-element.elementor-element-4006ed4 div.elementor-menu-toggle{color:var( --e-global-color-primary );}.elementor-23856 .elementor-element.elementor-element-4006ed4 div.elementor-menu-toggle svg{fill:var( --e-global-color-primary );}.elementor-23856 .elementor-element.elementor-element-821dde5{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--flex-wrap:nowrap;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-23856 .elementor-element.elementor-element-b2dc53f{text-align:center;}.elementor-23856 .elementor-element.elementor-element-b2dc53f img{width:130px;}.elementor-23856 .elementor-element.elementor-element-54f0bc7{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;--flex-wrap:nowrap;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );color:var( --e-global-color-primary );}.elementor-23856 .elementor-element.elementor-element-ec768b5 .elementor-heading-title{font-family:"Raleway", Sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:0.14em;color:var( --e-global-color-primary );}.elementor-23856 .elementor-element.elementor-element-ec768b5 .elementor-heading-title a:hover, .elementor-23856 .elementor-element.elementor-element-ec768b5 .elementor-heading-title a:focus{color:var( --e-global-color-oxblood );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .woocommerce-mini-cart__empty-message{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );}.elementor-23856 .elementor-element.elementor-element-d0b2b95{--divider-style:solid;--subtotal-divider-style:solid;--elementor-remove-from-cart-button:none;--remove-from-cart-button:block;--toggle-button-icon-color:#1C1B19;--toggle-button-background-color:transparent;--toggle-button-icon-hover-color:#7A1E2B;--toggle-button-border-width:0px;--toggle-icon-size:20px;--toggle-icon-padding:12px 8px 12px 8px;--items-indicator-text-color:#FAFAF8;--items-indicator-background-color:#7A1E2B;--cart-border-style:none;--cart-footer-layout:1fr;--products-max-height-sidecart:calc(100vh - 300px);--products-max-height-minicart:calc(100vh - 450px);}.elementor-23856 .elementor-element.elementor-element-d0b2b95 .widget_shopping_cart_content{--subtotal-divider-left-width:0;--subtotal-divider-right-width:0;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-image .widget-image-caption{line-height:var( --e-global-typography-text-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name a{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .woocommerce-mini-cart__empty-message{line-height:var( --e-global-typography-primary-line-height );}}@media(max-width:767px){.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-image .widget-image-caption{line-height:var( --e-global-typography-text-line-height );}.elementor-23856 .elementor-element.elementor-element-b2dc53f img{width:96px;}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-name a{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product-price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons .elementor-button{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-menu-cart .woocommerce-mini-cart__empty-message{line-height:var( --e-global-typography-primary-line-height );}}/* Start custom CSS for nav-menu, class: .elementor-element-4006ed4 *//* ✅ THE FIVE-ITEM STAGGER BLOCK THAT LIVED HERE IS DELETED, 2026-08-14, and this resolves a
   duplication this file had been warning about.
   It existed only because menu item 26404 "Locate Us" was added on 2026-08-13, making the mobile menu
   five items. The cascade is hand-written in the HEADER container cab627d as li:nth-child(1)..(4)
   transition delays, so a fifth item matched nothing, inherited a 0s delay and appeared INSTANTLY
   ahead of the four that cascade - which reads as "no animation", and is how the owner spotted it.
   Item 26404 was deleted on 2026-08-14 when the Locate Us map pin returned to the mobile bar, so the
   menu is back to FOUR items and cab627d's original delays are correct again on their own:
   open 0.15 / 0.35 / 0.55 / 0.75s, closed 0.45 / 0.3 / 0.15 / 0s. VERIFIED still present in cab627d
   before this block was removed - do not delete it there.
   ⚠⚠ ADD A FIFTH ITEM AND THE BUG RETURNS. The fix is to extend cab627d's own nth-child list, or to
     re-add an override here; either way the delays must cover every item. Grep for `nth-child` before
     adding anything to this menu. */

/* TOUCH TARGET FIX 2026-08-13. The burger measured 22x22 - the PRIMARY navigation control on mobile,
   under the 24x24 minimum of WCAG 2.2 AA 2.5.8, and far under this project's own stated 44px rule.
   Elementor renders the toggle as a shrink-wrapped div around a 22px glyph, so the box WAS the glyph.
   The GLYPH IS DELIBERATELY UNCHANGED at 22px - it is sized to sit with the 20px cart icon, and
   growing it would break that. Only the hit area grows. The target is what the thumb needs, not what
   the eye needs.

   ⛔⛔ THE MEDIA QUERY IS LOAD-BEARING. DO NOT REMOVE IT.
   The first version of this rule was unscoped, and its `display:flex` OVERRODE ELEMENTOR'S OWN
   `display:none` ON THE TOGGLE AT DESKTOP - so the burger rendered at 1440 alongside the full nav and
   the header grew from 123px to 163px on all 25 pages. Caught by measuring header height in the
   verification round, not by looking at the rule.
   1200px is the boundary Elementor uses here: this header shows the burger from 768 to 1200 as well
   as below 768 (a deliberate earlier fix for the nav wrapping to two rows below ~1123px), so the
   toggle is only ever visible at 1200 and under. Scoping to that range means the rule cannot touch
   the desktop state at all.
   ⚠ Safe for the centred logo: this sits in the LEFT column, which is flex:1 1 0 alongside the right
   column, so the logo's centring comes from the equal split, not from this content. */
@media (max-width:1200px){
.elementor-23856 .elementor-element.elementor-element-4006ed4 .elementor-menu-toggle{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3916888 *//* Burger menu 768-1200px. The 4-item nav needs 399px; below ~1123px the column is too narrow and the nav wrapped to 2 rows, growing the header 123 to 141px. NOTE the widget's own breakpoint class is elementor-nav-menu--dropdown-MOBILE, so Elementor only shows the toggle below 768 - which is why this band starts at 768 and not 1025. Added 2026-08-08. */
@media (min-width:768px) and (max-width:1200px){
.elementor-23856 .elementor-element.elementor-element-3916888{position:static !important;}
.elementor-23856 .elementor-element.elementor-element-3916888 .elementor-widget{position:static !important;}
.elementor-23856 .elementor-element.elementor-element-3916888 .elementor-nav-menu--main{display:none !important;}
.elementor-23856 .elementor-element.elementor-element-3916888 .elementor-menu-toggle{display:flex !important;}
.elementor-23856 .elementor-element.elementor-element-3916888 nav.elementor-nav-menu--dropdown{display:flex !important;position:absolute !important;z-index:9998;top:100% !important;left:0 !important;right:0 !important;width:auto !important;margin-top:0 !important;background-color:var(--e-global-color-cream) !important;border-bottom:1px solid var(--e-global-color-footerputty) !important;}
}

/* "Locate Us" (menu item 26404, class abs-menu-mobile-only) belongs to the BURGER MENU ONLY, below 768. From 768 up LOCATE US is text in the header bar, so the menu row would duplicate it. Owner's call 2026-08-13: below 768 the bar carries ACCOUNT + CART instead of pin + cart, so LOCATE US moved here. */
@media (min-width:768px){
.elementor-23856 .elementor-element.elementor-element-3916888 .abs-menu-mobile-only{display:none !important;}
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-ec768b5 *//* ⭐ PIN RESTORED 2026-08-14 when the account icon was removed (accounts retired on privacy grounds).
   From 2026-08-08 to 2026-08-13 the mobile bar showed this as a map pin; on 2026-08-13 it was pulled
   out entirely so the ACCOUNT icon could sit beside the cart, because only two targets fit the 82px
   right column. Removing accounts freed that slot, and the owner's priority for it is the showroom:
   a phone visitor is far likelier to want "where are you and are you open" than an account.

   THE TECHNIQUE: the words need 94px and the column is about 50px, so the label STAYS IN THE DOM at
   font-size 0 - screen readers still announce it, and it remains a real link - while the anchor becomes
   a 44px box carrying an inline-SVG background pin. Colour is baked Ink deliberately: there is no hover
   state on touch, and a data URI cannot inherit currentColor anyway.
   ⚠ From 768 up this rule does not apply at all and the widget renders as ordinary LOCATE US text.
     Do not widen the media query.

   ⚠⚠ STROKE-WIDTH IS 1.3, NOT 1.6, AND IT WAS SET BY MEASUREMENT - DO NOT ROUND IT BACK UP.
   The owner reported the pin and cart looking mismatched on mobile. Measured from a real screenshot by
   thresholding dark pixels (Limestone hairline excluded at 215+): VERTICAL ALIGNMENT WAS ALREADY
   PERFECT - pin, cart and burger centres all within 0.5px. The defect was WEIGHT, not position:
     pin  14w x 18h, 103 ink px   (stroke 1.6)
     cart 19w x 19h,  85 ink px
   The pin was 36% NARROWER yet carried 21% MORE INK - it read as a small dense blob beside a large
   airy outline. Ink mass scales about linearly with stroke width on an outline shape, so 103 x
   (1.3/1.6) = 84, against the cart's 85. Heights already matched within 1px, so only the stroke moved.
   ⚠ The pin stays NARROWER than the cart (14 vs 19) and that is fine - a teardrop is inherently
     narrower than a cart. Match perceived WEIGHT, not the bounding box. Same principle as the
     brand-grid note: equal size is not equal weight.
   ⚠ This is also why the pin is not simply the old account icon's 1.2: that glyph was a different
     shape with a different perimeter. Re-measure if the artwork ever changes. */
@media (max-width:767px){
.elementor-23856 .elementor-element.elementor-element-ec768b5 .elementor-heading-title{font-size:0 !important;line-height:0 !important;}
.elementor-23856 .elementor-element.elementor-element-ec768b5 .elementor-heading-title a{display:block !important;width:44px !important;height:44px !important;font-size:0 !important;background-image:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%231C1B19'%20stroke-width='1.3'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M12%2021.5s6.5-6%206.5-11a6.5%206.5%200%201%200-13%200c0%205%206.5%2011%206.5%2011z'/%3E%3Ccircle%20cx='12'%20cy='10.5'%20r='2.4'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:center !important;background-size:22px 22px !important;}
}/* End custom CSS */
/* Start custom CSS for woocommerce-menu-cart, class: .elementor-element-d0b2b95 *//* ⛔ THE DRAWER WAS TRAPPED INSIDE THE HEADER BAND. Owner's screenshot 2026-08-13: clicking the cart
   produced a small panel clipped to the top right with a grey overlay across the header only.
   MEASURED CAUSE: the side-cart container IS position:fixed, but its rect was 1440x123 - the header's
   height, not the viewport's 900. The smart-sticky rule in cab627d sets `will-change: transform` on
   .elementor-location-header, and will-change:transform makes an element a CONTAINING BLOCK for its
   position:fixed descendants. So `fixed` resolved against the header, not the viewport.
   will-change is only a performance hint; the sticky transition still runs without it. */
.elementor-location-header{will-change:auto !important;}
/* Second half of the same trap: .abs-hidden applies a real transform when the sticky header hides on
   scroll-down, which re-creates the containing block. The page still scrolls behind the open drawer
   (Elementor does NOT lock body scroll here), so freeze the header while the drawer is shown. */
.elementor-location-header:has(#hd-cart.elementor-menu-cart--shown){transform:none !important;}

/* ===== DRAWER LAYOUT, to the Devialet/B&O references the owner supplied 2026-08-13 =====
   ⚠⚠ TWO `position` OVERRIDES WERE TRIED HERE AND BOTH BROKE SOMETHING. DO NOT REINTRODUCE EITHER:
   1. position:relative on .elementor-menu-cart__main dropped the panel to the TOP LEFT and collapsed it
      to content height - Elementor anchors it to the right edge with its own positioning.
   2. position:static on .elementor-menu-cart__product-remove drew a giant X across every product row.
      That element's ::before/::after ARE the remove icon: two 1px bars rotated 45deg and sized at 100%
      of their containing block. Making the wrapper static moved that containing block up to the row, so
      each bar stretched from ~10px to 226px. */
#hd-cart .elementor-menu-cart__main{width:min(520px,92vw) !important;max-width:none !important;padding:0 !important;background-color:var(--e-global-color-cream) !important;}
/* Title. The ::before is the NO-JS FALLBACK and carries no count; the script inserts a real
   .abs-cart-title carrying "Your Cart" plus a live item count, and the :has() rule below retires the
   fallback so the two never both show. Losing the script therefore costs the count, not the title. */
#hd-cart .elementor-menu-cart__main::before{content:"Your Cart";display:block;flex:0 0 auto;font-family:"Archivo",sans-serif;font-weight:300;font-size:22px;letter-spacing:-0.01em;color:var(--e-global-color-primary);padding:26px 34px 20px;border-bottom:1px solid var(--e-global-color-footerputty);}
#hd-cart .elementor-menu-cart__main:has(.abs-cart-title)::before{display:none;}
#hd-cart .abs-cart-title{flex:0 0 auto;font-family:"Archivo",sans-serif;font-weight:300;font-size:22px;letter-spacing:-0.01em;color:var(--e-global-color-primary);padding:26px 34px 20px;border-bottom:1px solid var(--e-global-color-footerputty);}
#hd-cart .abs-cart-title span{color:var(--e-global-color-secondary);}
#hd-cart .abs-cart-title span:empty{display:none;}
#hd-cart .elementor-menu-cart__close-button{position:absolute !important;top:24px !important;right:30px !important;margin:0 !important;z-index:2;}
#hd-cart .widget_shopping_cart_content{display:flex !important;flex-direction:column !important;flex:1 1 auto !important;min-height:0 !important;padding:0 34px 30px !important;}
#hd-cart .elementor-menu-cart__products{flex:1 1 auto !important;min-height:0 !important;overflow-y:auto !important;}
/* Row grid: plate | name + stepper | remove + price. */
#hd-cart .elementor-menu-cart__product{grid-template-columns:88px minmax(0,1fr) auto !important;column-gap:18px !important;align-items:start !important;padding:22px 0 !important;}
#hd-cart .elementor-menu-cart__product-image{grid-area:1 / 1 / 3 / 2 !important;}
#hd-cart .elementor-menu-cart__product-image img{width:88px !important;height:88px !important;object-fit:cover !important;display:block !important;background-color:var(--e-global-color-footerputty);}
#hd-cart .elementor-menu-cart__product-name{grid-area:1 / 2 / 2 / 3 !important;}
#hd-cart .elementor-menu-cart__product-name a{color:var(--e-global-color-primary) !important;font-weight:600 !important;line-height:1.45 !important;}
#hd-cart .elementor-menu-cart__product-price{grid-area:2 / 3 / 3 / 4 !important;text-align:right !important;align-self:end !important;color:var(--e-global-color-primary) !important;white-space:nowrap !important;}
#hd-cart .elementor-menu-cart__product-price .woocommerce-Price-amount{color:var(--e-global-color-primary) !important;}
/* The "2 x" prefix is redundant once the stepper shows the count, so it is hidden - but ONLY when a
   stepper actually exists, so a JS failure still shows the quantity. */
#hd-cart .elementor-menu-cart__product:has(.abs-qty) .product-quantity{display:none !important;}
#hd-cart .elementor-menu-cart__product-remove{grid-area:1 / 3 / 2 / 4 !important;}
/* ---- Quantity stepper (injected by the hd-cart-qty script widget) ----
   justify-self:start is required. A grid item stretches to fill its column by default, so without it
   the inline-flex box ran the full width of the name column. */
#hd-cart .abs-qty{grid-area:2 / 2 / 3 / 3 !important;justify-self:start !important;display:inline-flex;align-items:center;align-self:end;border:1px solid var(--e-global-color-footerputty);height:34px;}
#hd-cart .abs-qty__btn{width:34px;height:32px;padding:0;margin:0;border:0;background:transparent;color:var(--e-global-color-primary);font-family:inherit;font-size:15px;line-height:1;cursor:pointer;-webkit-appearance:none;appearance:none;}
#hd-cart .abs-qty__btn[disabled]{opacity:.3;cursor:default;}
#hd-cart .abs-qty__n{min-width:30px;text-align:center;font-size:13px;color:var(--e-global-color-primary);font-variant-numeric:tabular-nums;}
#hd-cart .abs-qty.is-busy{opacity:.45;pointer-events:none;}
@media (hover:hover) and (pointer:fine){
#hd-cart .abs-qty__btn:not([disabled]):hover{color:var(--e-global-color-oxblood);}
}
/* Footer pinned to the bottom. */
#hd-cart .elementor-menu-cart__subtotal{margin-top:auto !important;display:flex !important;justify-content:space-between !important;align-items:baseline !important;border-top:1px solid var(--e-global-color-footerputty) !important;border-bottom:0 !important;padding:20px 0 18px !important;font-size:16px !important;}
#hd-cart .elementor-menu-cart__footer-buttons{display:flex !important;flex-direction:column !important;gap:12px !important;}
#hd-cart .elementor-menu-cart__footer-buttons a.elementor-button{width:100% !important;border-radius:0 !important;min-height:48px !important;display:flex !important;align-items:center !important;justify-content:center !important;font-size:11.5px !important;letter-spacing:0.18em !important;text-transform:uppercase !important;font-weight:600 !important;transition:background-color .25s ease,color .25s ease !important;}
#hd-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout{order:-1 !important;background-color:var(--e-global-color-oxblood) !important;color:var(--e-global-color-cream) !important;border:1px solid var(--e-global-color-oxblood) !important;}
#hd-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart{background-color:transparent !important;color:var(--e-global-color-primary) !important;border:0 !important;text-decoration:underline !important;text-underline-offset:6px !important;text-decoration-color:var(--e-global-color-oxblood) !important;text-decoration-thickness:1px !important;}
@media (hover:hover) and (pointer:fine){
#hd-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover{background-color:#5C1420 !important;border-color:#5C1420 !important;color:var(--e-global-color-cream) !important;}
#hd-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover{color:var(--e-global-color-oxblood) !important;}
}
@media (max-width:767px){
#hd-cart .elementor-menu-cart__main{width:100vw !important;}
#hd-cart .elementor-menu-cart__main::before,#hd-cart .abs-cart-title{padding:22px 22px 16px;font-size:20px;}
#hd-cart .elementor-menu-cart__close-button{top:20px !important;right:18px !important;}
#hd-cart .widget_shopping_cart_content{padding:0 22px 24px !important;}
#hd-cart .elementor-menu-cart__product{grid-template-columns:72px minmax(0,1fr) auto !important;column-gap:14px !important;}
#hd-cart .elementor-menu-cart__product-image img{width:72px !important;height:72px !important;}
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b9d1e13 */.elementor-23856 .elementor-element.elementor-element-b9d1e13{display:none !important;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-54f0bc7 */#hd-cart{display:flex;align-items:center}
#hd-cart .elementor-menu-cart__toggle_button{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--e-global-color-primary)}
@media (hover:hover) and (pointer:fine){
#hd-cart .elementor-menu-cart__toggle_button:hover{color:var(--e-global-color-oxblood)}
}
#hd-cart .elementor-button-icon-qty[data-counter="0"]{display:none}

/* ⚠⚠ ACCOUNT ICON REMOVED 2026-08-14, owner's call: the customer-accounts feature is retired, on
   privacy/PDPA grounds. Registration is now off at all three WooCommerce entry points, so an account
   icon here would point at a login form nobody can register for - which is the EXACT defect that
   triggered the 2026-08-13 accounts review. The settings and the icon had to move together; doing
   only one of the two is worse than either end state.

   WHAT WAS DELETED, so it can be rebuilt if accounts ever return:
   - widget c0eeee4, type `icon`, _element_id `hd-account`, link `/my-account/`, selected_icon
     library `svg` pointing at attachment 26497
     (account-icon-light-outline-titled-for-screen-readers.svg, which carries a <title>My account</title>
     and role=img - that title IS the accessible name, because Elementor's icon widget exposes no
     aria-label control).
   - the #hd-account sizing and colour rules, and critically
     `#hd-account svg` with `fill:none !important; stroke:currentColor !important`. That is REQUIRED:
     26497 is STROKE-drawn and Elementor colours icons with `fill` by default, so without it the glyph
     renders as a solid black blob. It exists because Font Awesome's user glyph was visibly heavier
     than the cart eicon and no Elementor person eicon is a plain outline.
   - the 768+ optical-spacing rule that gave #hd-account a matched margin-left:6px / margin-right:-6px.
     That corrected UNEQUAL whitespace between TEXT (LOCATE US, no padding) and two 44px icon tap
     boxes. With one icon left in this column there is no text-versus-icon mismatch to correct, so
     Elementor's default 20px flex gap is correct again and the rule is DELETED rather than retuned.
     Do not reintroduce it for a single icon.

   ⚠ Attachment 26497 is deliberately NOT deleted. Nothing references it now, but it is the
     weight-matched artwork and redrawing it cost a round of candidates rendered at 72px. *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-cab627d */.elementor-23856 .elementor-element.elementor-element-cab627d .elementor-widget-heading, .elementor-23856 .elementor-element.elementor-element-cab627d .elementor-heading-title { white-space: nowrap !important; word-break: keep-all !important; overflow-wrap: normal !important; } .elementor-element-3916888.e-con, .elementor-element-54f0bc7.e-con { flex: 1 1 0% !important; width: auto !important; min-width: 0 !important; } .elementor-element-821dde5.e-con { flex: 0 0 auto !important; width: auto !important; min-width: 0 !important; } .elementor-element-4006ed4 .elementor-menu-toggle { background-color: transparent !important; border-radius: 0 !important; padding: 0 !important; } @media (max-width: 767px) { .elementor-element-4006ed4 { align-self: center !important; height: auto !important; } .elementor-element-4006ed4 > .elementor-widget-container { display: flex !important; flex-direction: column !important; justify-content: center !important; align-items: flex-start !important; height: auto !important; } .elementor-element-4006ed4 .elementor-menu-toggle { display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important; position: relative !important; z-index: 100000 !important; } .elementor-element-821dde5, .elementor-element-54f0bc7 { position: relative !important; z-index: 100000 !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown { position: fixed !important; top: 0 !important; left: 0 !important; width: 100vw !important; height: 100vh !important; background-color: var(--e-global-color-cream) !important; z-index: 99999 !important; border: none !important; margin: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; transition: opacity 0.35s ease 0.5s, visibility 0s linear 0.85s !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transition: opacity 0.3s ease 0s, visibility 0s linear 0s !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown ul.elementor-nav-menu { width: 100% !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li { opacity: 0 !important; transform: translateY(24px) !important; transition: opacity 0.4s ease, transform 0.4s ease !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li:nth-child(4) { transition-delay: 0s !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li:nth-child(3) { transition-delay: 0.15s !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li:nth-child(2) { transition-delay: 0.3s !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li:nth-child(1) { transition-delay: 0.45s !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown li { opacity: 1 !important; transform: translateY(0) !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown li:nth-child(1) { transition-delay: 0.15s !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown li:nth-child(2) { transition-delay: 0.35s !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown li:nth-child(3) { transition-delay: 0.55s !important; } .elementor-element-4006ed4 .elementor-menu-toggle[aria-expanded="true"] + nav.elementor-nav-menu--dropdown li:nth-child(4) { transition-delay: 0.75s !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown a.elementor-item { color: var(--e-global-color-primary) !important; font-size: 30px !important; line-height: 2 !important; text-align: center !important; justify-content: center !important; padding: 10px 20px !important; border: none !important; background-color: transparent !important; } .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown a.elementor-item:hover, .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown a.elementor-item.highlighted { color: var(--e-global-color-oxblood) !important; background-color: transparent !important; } } @media (prefers-reduced-motion: reduce) { .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown, .elementor-element-4006ed4 nav.elementor-nav-menu--dropdown li, .elementor-element-4006ed4 .elementor-item, .elementor-element-4006ed4 a.elementor-item { transition: none !important; transition-delay: 0s !important; } } /* ==== Smart-sticky header (hide on scroll down, show on scroll up) - ALL pages ==== */ .elementor-location-header { position: sticky !important; top: 0; z-index: 999; transition: transform 0.28s ease; will-change: transform; } .elementor-location-header.abs-hidden { transform: translateY(-100%); } .elementor-element-8b1f4f4 { display: none !important; } @media (prefers-reduced-motion: reduce) { .elementor-location-header { transition: none !important; } } @media (max-width:767px){#site-header{padding-left:20px!important;padding-right:20px!important}}/* End custom CSS */