.elementor-26242 .elementor-element.elementor-element-894be35{--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;--align-items:flex-start;--flex-wrap:nowrap;--padding-top:48px;--padding-bottom:100px;--padding-left:62px;--padding-right:62px;}.elementor-26242 .elementor-element.elementor-element-894be35:not(.elementor-motion-effects-element-type-background), .elementor-26242 .elementor-element.elementor-element-894be35 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAF8;}.elementor-26242 .elementor-element.elementor-element-9646e45{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-26242 .elementor-element.elementor-element-0f7bfaf{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-breadcrumbs{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );}.elementor-26242 .elementor-element.elementor-element-26cd63a{font-family:"Raleway", Sans-serif;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.16em;color:#33322F;}.elementor-26242 .elementor-element.elementor-element-26cd63a a{color:#33322F;}.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-26242 .elementor-element.elementor-element-51930b3{margin:12px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:start;}.elementor-26242 .elementor-element.elementor-element-51930b3 .elementor-heading-title{font-family:"Archivo", Sans-serif;font-size:36px;font-weight:300;line-height:1.06em;letter-spacing:-0.03em;color:#1C1B19;}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );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-26242 .elementor-element.elementor-element-18c3889{margin:16px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.woocommerce .elementor-26242 .elementor-element.elementor-element-18c3889 .price{color:#1C1B19;font-family:"Raleway", Sans-serif;font-size:19px;font-weight:400;}.elementor-26242 .elementor-element.elementor-element-0e36f1b{margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.woocommerce .elementor-26242 .elementor-element.elementor-element-0e36f1b .woocommerce-product-details__short-description{color:#33322F;font-family:"Raleway", Sans-serif;font-size:16px;line-height:1.65em;}.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 );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26242 .elementor-element.elementor-element-a581a10{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-26242 .elementor-element.elementor-element-a581a10 .cart button, .elementor-26242 .elementor-element.elementor-element-a581a10 .cart .button{transition:all 0.2s;}.elementor-26242 .elementor-element.elementor-element-a581a10 .quantity .qty{transition:all 0.2s;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );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-26242 .elementor-element.elementor-element-843b058 .elementor-button{background-color:#7A1E2B;font-family:"Archivo", Sans-serif;font-size:11.5px;font-weight:500;text-transform:uppercase;letter-spacing:2.07px;fill:#FAFAF8;color:#FAFAF8;border-radius:0px 0px 0px 0px;padding:15px 30px 15px 30px;}.elementor-26242 .elementor-element.elementor-element-843b058{margin:24px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-widget-woocommerce-product-meta .product_meta .detail-container:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-26242 .elementor-element.elementor-element-462b0d7{margin:28px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-26242 .elementor-element.elementor-element-764eebe{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:62px;--padding-right:62px;}.elementor-26242 .elementor-element.elementor-element-764eebe:not(.elementor-motion-effects-element-type-background), .elementor-26242 .elementor-element.elementor-element-764eebe > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FAFAF8;}.elementor-26242 .elementor-element.elementor-element-a0ff894{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}@media(max-width:1024px){.elementor-widget-breadcrumbs{line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-button .elementor-button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}}@media(max-width:767px){.elementor-26242 .elementor-element.elementor-element-894be35{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:28px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-26242 .elementor-element.elementor-element-9646e45{--width:100%;}.elementor-26242 .elementor-element.elementor-element-0f7bfaf{--width:100%;}.elementor-widget-breadcrumbs{line-height:var( --e-global-typography-secondary-line-height );}.elementor-widget-heading .elementor-heading-title{line-height:var( --e-global-typography-primary-line-height );}.elementor-26242 .elementor-element.elementor-element-51930b3 .elementor-heading-title{font-size:28px;}.woocommerce .elementor-widget-woocommerce-product-price .price{line-height:var( --e-global-typography-primary-line-height );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-widget-button .elementor-button{letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-26242 .elementor-element.elementor-element-764eebe{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}}@media(min-width:768px){.elementor-26242 .elementor-element.elementor-element-9646e45{--width:58%;}.elementor-26242 .elementor-element.elementor-element-0f7bfaf{--width:42%;}}/* Start custom CSS for woocommerce-product-images, class: .elementor-element-c2ef61a *//* Thumbnail strip: fit up to five thumbnails on one row, and never wrap.
   WooCommerce's own woocommerce.css sets
   .woocommerce div.product div.images .flex-control-thumbs li { width:25%; float:left }
   at specificity (0,4,3), which beats this element chain (0,4,1),
   so !important is required here and is not decoration.
   flex-basis 20% caps a thumbnail at one fifth; shrink is left on, so a product
   with more than five images narrows them instead of wrapping to a second row. */
.elementor-26242 .elementor-element.elementor-element-c2ef61a .flex-control-thumbs { display: flex !important; flex-wrap: nowrap !important; }
.elementor-26242 .elementor-element.elementor-element-c2ef61a .flex-control-thumbs li { width: 20% !important; flex: 0 1 20% !important; float: none !important; }/* End custom CSS */
/* Start custom CSS for woocommerce-product-add-to-cart, class: .elementor-element-a581a10 */.elementor-26242 .elementor-element.elementor-element-a581a10 .variations,
.elementor-26242 .elementor-element.elementor-element-a581a10 .variations td,
.elementor-26242 .elementor-element.elementor-element-a581a10 .variations select,
.elementor-26242 .elementor-element.elementor-element-a581a10 .single_variation_wrap,
.elementor-26242 .elementor-element.elementor-element-a581a10 .woocommerce-variation-add-to-cart{max-width:100%;box-sizing:border-box}
.elementor-26242 .elementor-element.elementor-element-a581a10 .variations select{width:100%}
.elementor-26242 .elementor-element.elementor-element-a581a10 .woocommerce-variation-add-to-cart{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.elementor-26242 .elementor-element.elementor-element-a581a10 .woocommerce-variation-add-to-cart > *{min-width:0}
.elementor-26242 .elementor-element.elementor-element-a581a10 .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 auto;max-width:100%}
@media (max-width:767px){
.elementor-26242 .elementor-element.elementor-element-a581a10 .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 100%;width:100%}
}

/* Primary-button type standard: Archivo 500 + optical centring. Added 2026-09-01.
   ADD TO CART was Raleway 700 — a SIXTH treatment that lived only in the store and that no
   website-side sweep reached.
   ⚠⚠ THE `body` PREFIX IS LOAD-BEARING, NOT DECORATION. Written first as plain
   `#pd-cart button[type="submit"]{…!important}` — the same .elementor-26242 .elementor-element.elementor-element-a581a10 as the existing rule — on the
   assumption that element CSS on a widget wins on source order. It did NOT: `text-indent` applied
   (nothing competes for it) while font-family and font-weight stayed Raleway 700. That proves the
   competing rule is PAGE-LEVEL custom_css, which Elementor appends LAST in the compiled stylesheet.
   👉 GENERAL RULE FOR THIS SITE: element CSS can never beat a page-level `!important` rule on order.
   ADD A SPECIFICITY STEP — prefix `body` — so (2,0,1) beats (2,0,0) regardless of position.
   Two sources also fight here: the page rule, AND WooCommerce's own `woocommerce.css`
   `font-weight:700` on `.button`, which wins anywhere a rule sets a family but no weight.
   ⛔ Size (11.5px) and tracking (.18em) were already correct and are NOT restated.
   ⚠ WOO BUTTONS ARE NOT `.elementor-button` — a sweep must select `a, button, input[type=submit]`
   and filter on the Oxblood background, or it misses every one of them. */
body #pd-cart .single_add_to_cart_button,
body #pd-cart button[type="submit"]{
  font-family:"Archivo", sans-serif !important;
  font-weight:500 !important;
  text-indent:0.18em;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-843b058 *//* The enquire button belongs only to products with no price.
   WooCommerce puts .purchasable on the product wrapper when a price exists,
   and renders nothing at all in the add-to-cart widget when it does not. */
.elementor-26242 .elementor-element.elementor-element-843b058{display:none}
/* Reveal MUST target #pd-enquire, never `.elementor-26242 .elementor-element.elementor-element-843b058`. Elementor expands `.elementor-26242 .elementor-element.elementor-element-843b058`
   to a chain starting .elementor-26242, and .product sits on that SAME element,
   so `.product:not(.purchasable) .elementor-26242 .elementor-element.elementor-element-843b058` can never match. Do not "tidy" this
   back to `.elementor-26242 .elementor-element.elementor-element-843b058` — it silently hides the button on every enquiry product. */
.product:not(.purchasable) #pd-enquire{display:block}
.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button{min-height:48px;border-radius:0;transition:background-color .25s ease}
@media (hover:hover) and (pointer:fine){
.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button:hover{background-color:#5C1420}
}
.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){
.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button{transition:none}
.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button:active{transform:none}
}
@media (max-width:767px){.elementor-26242 .elementor-element.elementor-element-843b058 .elementor-button{width:100%}}/* End custom CSS */
/* Start custom CSS for woocommerce-product-meta, class: .elementor-element-462b0d7 */.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline}
.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta > *{margin:0}

/* CONTRAST FIX 2026-08-13. SKU, Category and Brand rendered Stone on Gallery White = 3.39:1, under
   the 4.5:1 AA floor, on every product page. Graphite is 11.4:1.
   ⚠ The widget has NO colour control set and this template's compiled stylesheet contains ZERO
   references to the Stone token, so the value is arriving from Elementor's own widget defaults
   rather than from anything authored here. That is why it is corrected with css and !important
   rather than by changing a setting - there is no setting to change. Do not go looking for one.
   STANDING RULE 2026-08-13: Stone is the quiet grey on INK ONLY. On Gallery White or Plaster the
   quiet grey is Graphite, and hierarchy comes from size and tracking. No single grey passes AA on
   both grounds, so the token cannot be darkened centrally - it would break the footer on all 25
   pages, where Stone on Ink is correct at 4.86:1. */
.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta,.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta a,.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta span,.elementor-26242 .elementor-element.elementor-element-462b0d7 .product_meta bdi{color:var(--e-global-color-text) !important;}/* End custom CSS */
/* Start custom CSS for woocommerce-product-data-tabs, class: .elementor-element-a0ff894 *//* pd-tabs: Woo product data tabs flattened into stacked sections.
   ALL spacing and the hairline live inside .woocommerce-tabs on purpose:
   when Woo prints no tabs, Elementor skips this widget entirely and
   #pd-more (padding 0) collapses to 0px. Do not move padding to the container. */
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-tabs{padding:64px 0 100px;margin:0;border-top:1px solid #DEDCD7;clear:both}
.elementor-26242 .elementor-element.elementor-element-a0ff894 ul.wc-tabs{display:none!important}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel{display:block!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:transparent!important;border-radius:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel + .woocommerce-Tabs-panel{margin-top:64px!important}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel > h2{font-family:Archivo,sans-serif;font-weight:300;font-size:28px;line-height:1.1;letter-spacing:-0.02em;color:#1C1B19;margin:0 0 24px;padding:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel,.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel p,.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel li{font-family:Raleway,sans-serif;font-weight:400;font-size:16px;line-height:1.65;color:#33322F;font-style:normal}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel p{max-width:62ch;margin:0 0 1em}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel p:last-child{margin-bottom:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel a{color:#7A1E2B;text-decoration:none}
@media (hover:hover) and (pointer:fine){.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel a:hover{text-decoration:underline}}
/* Sub-heading inside the description (e.g. "What it comprises") and its list.
   The h2 rule above only covers the tab's own heading; content headings are h3,
   so without this they inherit the Raleway 16px body rule and read as body text. */
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel h3{font-family:Archivo,sans-serif;font-weight:400;font-size:18px;line-height:1.3;letter-spacing:0;color:#1C1B19;margin:34px 0 14px;padding:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel ul{margin:0;padding:0 0 0 20px;max-width:62ch;list-style:disc}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel li{margin:0 0 7px}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel li:last-child{margin-bottom:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes{width:100%;max-width:680px;border-collapse:collapse!important;border:0!important;border-top:1px solid #DEDCD7!important;margin:0!important;font-size:16px!important;border-radius:0}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes tr{display:table-row!important}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes th,.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes td{display:table-cell!important;background:transparent!important;border:0!important;border-bottom:1px solid #DEDCD7!important;padding:14px 24px 14px 0!important;text-align:left;vertical-align:top;line-height:1.5;font-style:normal!important;max-width:none}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes th{width:34%;font-weight:500;color:#1C1B19}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes td{font-weight:400;color:#33322F}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes td p{margin:0!important;padding:0!important}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes tr:hover>td,.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes tr:hover>th{background:transparent!important}
@media (max-width:767px){
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-tabs{padding:40px 0 56px}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel + .woocommerce-Tabs-panel{margin-top:40px!important}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel > h2{font-size:20px;margin-bottom:18px}
.elementor-26242 .elementor-element.elementor-element-a0ff894 .woocommerce-Tabs-panel h3{font-size:16px;margin-top:28px}
.elementor-26242 .elementor-element.elementor-element-a0ff894 table.shop_attributes th{width:40%;padding-right:16px!important}
}/* End custom CSS */
/* Start custom CSS *//* ---------- plate: 1:1, Limestone until photography ---------- */
#pd-plate .woocommerce-product-gallery__image img{width:100%!important;aspect-ratio:1/1;object-fit:cover;display:block;background:#DEDCD7;border-radius:0}
#pd-plate .woocommerce-product-gallery{width:100%!important;float:none!important;margin:0!important}

/* ---------- action: Oxblood, zero radius, house button ---------- */
#pd-cart .single_add_to_cart_button,
#pd-cart button[type="submit"]{
background:#7A1E2B!important;color:#FAFAF8!important;border:0!important;border-radius:0!important;
font-family:"Raleway",sans-serif!important;font-size:11.5px!important;font-weight:700!important;
letter-spacing:.18em!important;text-transform:uppercase!important;
min-height:48px;padding:15px 30px!important;transition:background-color .25s ease}
@media (hover:hover) and (pointer:fine){
#pd-cart .single_add_to_cart_button:hover,#pd-cart button[type="submit"]:hover{background:#5C1420!important}
}
#pd-cart .single_add_to_cart_button:active{transform:scale(.97)}
@media (prefers-reduced-motion:reduce){#pd-cart .single_add_to_cart_button{transition:none}
#pd-cart .single_add_to_cart_button:active{transform:none}}

/* quantity box: hairline, no radius, 16px so iOS does not zoom */
#pd-cart .quantity input.qty{border:1px solid #DEDCD7!important;border-radius:0!important;
min-height:48px;font-family:"Raleway",sans-serif;font-size:16px!important;color:#1C1B19;
background:transparent;padding:0 10px;text-align:center}
#pd-cart form.cart{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0}

/* ---------- enquire state: no price means WooCommerce omits the whole block ---------- */
.product:not(.purchasable) #pd-price::after{content:"Price on request";display:block;
font-family:"Raleway",sans-serif;font-size:16px;color:#8B8880}

/* ---------- meta: quiet, Stone labels ---------- */
#pd-meta .product_meta{font-family:"Raleway",sans-serif;font-size:13px;color:#8B8880;
border-top:1px solid #DEDCD7;padding-top:18px}
#pd-meta .product_meta > span{display:block;margin-bottom:6px}
#pd-meta .product_meta a{color:#1C1B19;text-decoration:none;border-bottom:1px solid #7A1E2B;padding-bottom:2px}

/* ---------- stack on mobile ---------- */
@media (max-width:767px){
#pd-main{flex-direction:column!important;gap:26px!important}
#pd-cart form.cart{width:100%}
#pd-cart .single_add_to_cart_button{flex:1 1 auto;width:100%}
}/* End custom CSS */