.elementor-kit-8823{--e-global-color-primary:#959595;--e-global-color-secondary:#57504D;--e-global-color-text:#7A7A7A;--e-global-color-accent:#C3B39C;--e-global-color-05995d3:#373737;--e-global-color-d4ddee3:#FFFFFF;--e-global-color-c1b9650:#000000;--e-global-color-010f8bc:#9A8E7D;--e-global-typography-primary-font-family:"Prata";--e-global-typography-primary-font-size:50px;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-text-transform:capitalize;--e-global-typography-primary-letter-spacing:2.4px;--e-global-typography-secondary-font-family:"Saira Condensed";--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:2.3px;--e-global-typography-secondary-word-spacing:2px;--e-global-typography-text-font-family:"Source Sans 3";--e-global-typography-text-font-size:20px;--e-global-typography-text-font-weight:300;--e-global-typography-text-letter-spacing:0.6px;--e-global-typography-accent-font-family:"Reddit Mono";--e-global-typography-accent-font-size:19px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-accent-word-spacing:5px;--e-global-typography-7584fdf-font-family:"Source Sans 3";--e-global-typography-7584fdf-font-size:19px;--e-global-typography-7584fdf-font-weight:500;--e-global-typography-2693b99-font-family:"Saira";--e-global-typography-2693b99-font-size:17px;--e-global-typography-2693b99-font-weight:300;--e-global-typography-2693b99-text-transform:uppercase;--e-global-typography-ad1ea44-font-family:"Reddit Mono";--e-global-typography-ad1ea44-font-size:23px;--e-global-typography-ad1ea44-text-transform:uppercase;--e-global-typography-3e5662d-font-family:"Source Sans 3";--e-global-typography-3e5662d-font-size:22px;--e-global-typography-3e5662d-font-weight:400;--e-global-typography-3e5662d-text-transform:capitalize;--e-global-typography-6a969ba-font-family:"Saira";--e-global-typography-6a969ba-font-size:17px;--e-global-typography-6a969ba-font-weight:300;--e-global-typography-6a969ba-text-transform:uppercase;--e-global-typography-1328933-font-family:"Reddit Mono";--e-global-typography-1328933-font-size:17px;--e-global-typography-1328933-text-decoration:underline;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-8823 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8823 h1{font-family:"Prata", Sans-serif;font-size:50px;font-weight:400;text-transform:capitalize;letter-spacing:2.4px;}.elementor-kit-8823 h2{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8823 h3{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h5{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h6{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );font-style:var( --e-global-typography-accent-font-style );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-8823{font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-8823 h2{font-size:var( --e-global-typography-secondary-font-size );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8823 h3{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h4{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h5{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h6{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-8823{--e-global-typography-text-font-size:17px;font-size:var( --e-global-typography-text-font-size );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-8823 h2{font-size:var( --e-global-typography-secondary-font-size );letter-spacing:var( --e-global-typography-secondary-letter-spacing );word-spacing:var( --e-global-typography-secondary-word-spacing );}.elementor-kit-8823 h3{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h4{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h5{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-kit-8823 h6{font-size:var( --e-global-typography-accent-font-size );letter-spacing:var( --e-global-typography-accent-letter-spacing );word-spacing:var( --e-global-typography-accent-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --Med-Grey:#b3b3b3; }
/* Start custom CSS *//* Full-screen homepage carousel (widget 91527fe) */
.elementor-element-91527fe .elementor-image-carousel-wrapper,
.elementor-element-91527fe .swiper-slide,
.elementor-element-91527fe .swiper-slide-inner {
    height: 100vh;
    height: 100svh;
}

.elementor-element-91527fe .swiper-slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.elementor-element-91527fe figure.swiper-slide-inner {
    margin: 0;
}

/* Hide "See it in a room" when the product has no visualiser link */
.elementor-element-tls0026 .elementor-button:not([href]),
.elementor-element-tls0026 .elementor-button[href=""] { display: none; }

/* ============ Main menu cart -&gt; "SAMPLES (n)" on EVERY header ============
   Colour is deliberately NOT set here so each header's own light/dark
   setting stays in control. The count is live via WooCommerce fragments. */

[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button {
    font-family: "Saira Condensed", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    text-transform: lowercase !important;
    letter-spacing: 1.9px !important;
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    line-height: 1;
    fill: currentColor;
}

/* drop the subtotal and the bag glyph */
/* (scoped to the toggle so the panel's own buttons keep their text) */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle .elementor-button-text,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon svg { display: none; }

/* wrap the live counter in the word */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon {
    position: static;
    display: inline;
    width: auto;
    height: auto;
    margin: 0;
}
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon::before { content: "samples ("; }
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon::after  { content: ")"; }

/* the counter reads as plain text rather than a bubble */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon-qty {
    display: inline !important;
    position: static;
    background: none;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    min-width: 0;
    width: auto;
    height: auto;
    padding: 0;
    margin: 0;
    border-radius: 0;
    transform: none;
}

/* the wrapper is a block with a line-height holding an inline-block toggle,
   which sits the glyph on the text baseline ~4px high. Collapse and centre. */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__wrapper,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_wrapper {
    display: flex !important;
    align-items: center;
    line-height: 0;
    padding-top: 0 !important;
}

/* Mobile: the bag glyph comes back, the word goes away */
@media (max-width: 767px) {
    [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon::before,
    [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon::after { content: none !important; }

    [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon svg {
        display: inline-block !important;
        width: 20px !important;
        height: 20px !important;
        fill: currentColor;
    }

    [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon-qty { display: none !important; }

    [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon {
        display: inline-flex !important;
        align-items: center;
    }
}

/* ---- Grey Main Menu (9130) only: logo | SAMPLES/bag | toggle ordering ---- */
@media (max-width: 1024px) {
    .elementor-element-5587a677 { align-items: center; flex-wrap: nowrap; }

    .elementor-element-5bc2b07f { order: 1; flex: 1 1 auto !important; width: auto !important; }
    .elementor-element-6d6f55f4 { padding-top: 0 !important; }

    .elementor-element-149bb606 { order: 2; }
    .elementor-element-21308859 { order: 3; }

    .elementor-element-149bb606,
    .elementor-element-21308859 {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        align-self: center !important;
    }
    .elementor-element-149bb606 {
        margin-right: 16px !important;
        justify-content: center !important;
    }
    .elementor-element-21308859 { justify-content: center !important; }

    .elementor-element-36c95fd1,
    .elementor-element-36c95fd1 .elementor-nav-menu__toggle,
    .elementor-element-36c95fd1 .elementor-menu-toggle {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* ==== header palette: the ONLY difference between headers ==== */
/* DARK headers - white text on dark/image backgrounds */
[data-elementor-id="8850"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button,
[data-elementor-id="8929"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button {
    color: #FFFFFF !important;
}
[data-elementor-id="8850"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover,
[data-elementor-id="8929"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover {
    color: #C3B39C !important;
}

/* LIGHT headers - mid grey on white backgrounds */
[data-elementor-id="9047"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button,
[data-elementor-id="9130"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button {
    color: #7A7A7A !important;
}
[data-elementor-id="9047"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover,
[data-elementor-id="9130"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover {
    color: #373737 !important;
}

/* sit the cart on the same baseline as the nav in every header.
   These columns are flex-direction:column, so vertical centring is justify-content. */
[data-elementor-type="header"] .e-con:has(&gt; .elementor-widget-woocommerce-menu-cart),
[data-elementor-type="header"] .e-con:has(&gt; .elementor-widget-nav-menu) {
    justify-content: center;
}

/* cart sits on the nav baseline in every header */
/* Its column is flex-direction:column, so the vertical axis is the MAIN axis.
   Auto margins centre a flex item on the main axis regardless of justify-content. */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart {
    margin-top: auto !important;
    margin-bottom: auto !important;
}

/* Autentico swatch grid: one row, items shrink to fit */
/* Elementor writes an explicit grid-template-columns (repeat(N, 1fr)), which is what
   forces the wrap. Replacing it with auto-flow columns puts every item on one line and
   divides the width evenly, however many there are. minmax(0,1fr) is what lets a track
   shrink below its content's intrinsic width. */
@media (min-width: 768px) {
    .elementor-element-18cf8bf .elementor-loop-container.elementor-grid {
        grid-template-columns: none !important;
        grid-auto-flow: column !important;
        grid-auto-columns: minmax(0, 1fr) !important;
    }
    .elementor-element-18cf8bf .elementor-loop-container &gt; [data-elementor-type="loop-item"] {
        min-width: 0;
    }
    .elementor-element-18cf8bf .elementor-loop-container img {
        display: block;
        width: 100%;
        height: auto;
    }
}

/* ==== header row: matched 180px side tracks so the menu centres on the PAGE ==== */
@media (min-width: 1025px) {

.elementor-element-4647853,
.elementor-element-3763830f,
.elementor-element-7fef1177,
.elementor-element-5587a677 {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

/* LEFT track - 180px */
.elementor-element-6bed21d,
.elementor-element-410b04a7,
.elementor-element-524a0584,
.elementor-element-5bc2b07f {
    flex: 0 0 180px !important;
    width: 180px !important;
    max-width: 180px !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-6bed21d img,
.elementor-element-410b04a7 img,
.elementor-element-524a0584 img,
.elementor-element-5bc2b07f img {
    width: 100% !important;
    max-width: 180px !important;
    height: auto !important;
    display: block;
}

/* RIGHT track - also 180px, contents pushed to its right edge.
   Equal side tracks are what put the menu on the page's true centre. */
.elementor-element-131462a,
.elementor-element-14ecea81,
.elementor-element-57e5073b,
.elementor-element-149bb606 {
    flex: 0 0 180px !important;
    width: 180px !important;
    max-width: 180px !important;
    padding: 0 !important;
    margin: 0 !important;
    align-items: flex-end !important;
    justify-content: center !important;
}

/* MIDDLE - everything between, menu centred inside it */
.elementor-element-3a05d21,
.elementor-element-4e7e9683,
.elementor-element-18f3d39d,
.elementor-element-21308859 {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.elementor-element-3a05d21 .elementor-nav-menu--main .elementor-nav-menu,
.elementor-element-4e7e9683 .elementor-nav-menu--main .elementor-nav-menu,
.elementor-element-18f3d39d .elementor-nav-menu--main .elementor-nav-menu,
.elementor-element-21308859 .elementor-nav-menu--main .elementor-nav-menu {
    flex-wrap: nowrap !important;
    justify-content: center !important;
}
.elementor-element-3a05d21 .elementor-nav-menu--main .elementor-item,
.elementor-element-4e7e9683 .elementor-nav-menu--main .elementor-item,
.elementor-element-18f3d39d .elementor-nav-menu--main .elementor-item,
.elementor-element-21308859 .elementor-nav-menu--main .elementor-item {
    white-space: nowrap;
    padding-left: clamp(10px, 1.4vw, 32px);
    padding-right: clamp(10px, 1.4vw, 32px);
}
}

/* keep "samples (n)" on one line */
/* the label is ::before + the qty element + ::after, so it is three inline boxes
   that can break between them. nowrap on the button keeps them together. */
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart .elementor-button-icon-qty {
    white-space: nowrap !important;
}

/* ==== tablet + mobile: logo hugs the left in every header ==== */
/* 9130's logo column is flex:1 1 auto below 1025px so the cart and toggle can
   group on the right - which left the image floating in the middle of a wide
   column (247px in at iPad, 87px at mobile). Pin the image to the column's
   start rather than narrowing the column, so the grouping still works. */
@media (max-width: 1024px) {

.elementor-element-4647853,
.elementor-element-3763830f,
.elementor-element-7fef1177,
.elementor-element-5587a677 {
    padding-left: 15px !important;
}

.elementor-element-6bed21d,
.elementor-element-410b04a7,
.elementor-element-524a0584,
.elementor-element-5bc2b07f {
    padding-left: 0 !important;
    align-items: flex-start !important;
}

.elementor-element-6bed21d img,
.elementor-element-410b04a7 img,
.elementor-element-524a0584 img,
.elementor-element-5bc2b07f img {
    margin-left: 0 !important;
    margin-right: auto !important;
}
}

/* logo widget: beat Elementor's --align-self on touch sizes */
/* The column is flex-direction:column, so the cross axis is horizontal and
   align-items controls it - but the widget carries align-self:center via
   Elementor's --align-self custom property, which wins. Override both. */
@media (max-width: 1024px) {
.elementor-element-d665a78,
.elementor-element-aa1808e,
.elementor-element-52ed71ef,
.elementor-element-6d6f55f4 {
    --align-self: flex-start !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
}
}

/* Wood Specs: Construction Menu sticks to the top */
/* The container is a direct child of the page wrapper, which is ~7400px tall with
   overflow:visible - so it can travel the whole page once pinned. */
.elementor-element-39a096e {
    position: sticky !important;
    top: 0;
    z-index: 50;
    background-color: #ffffff;   /* it was transparent; page content would show through when pinned */
    border-bottom: 1px solid #e5e5e5;
}
/* Home page header (9047) on tablet &amp; phone: same layout as the grey header -
   logo on the left at a fixed 143px, then the bag, then the hamburger on the far right */
@media (max-width: 1024px) {
    .elementor-element-7fef1177 { align-items: center; flex-wrap: nowrap; }

    .elementor-element-524a0584 { order: 1; flex: 1 1 auto !important; width: auto !important; }
    .elementor-element-52ed71ef { padding-top: 0 !important; }
    .elementor-element-52ed71ef img { width: 143px !important; max-width: 143px !important; height: auto !important; }

    .elementor-element-57e5073b { order: 2; }
    .elementor-element-18f3d39d { order: 3; }

    .elementor-element-57e5073b,
    .elementor-element-18f3d39d {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        align-self: center !important;
    }
    .elementor-element-57e5073b {
        margin-right: 16px !important;
        justify-content: center !important;
    }
    .elementor-element-18f3d39d { margin-right: 25px !important; justify-content: center !important; }

    .elementor-element-459cceb2,
    .elementor-element-459cceb2 &gt; .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

    .elementor-element-5b44e663,
    .elementor-element-5b44e663 .elementor-nav-menu__toggle,
    .elementor-element-5b44e663 .elementor-menu-toggle {
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* ---- Grey Main Menu – Mega (10041): copy of the grey header with a Mega Menu ---- */
/* same mid-grey bag as the grey header */
[data-elementor-id="10041"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button { color: #7A7A7A !important; }
[data-elementor-id="10041"] .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle_button:hover { color: #373737 !important; }
@media (min-width: 1025px) {
    /* menu items on one line, centred in the middle column */
    .elementor-element-779b943 .e-n-menu-heading { flex-wrap: nowrap !important; justify-content: center !important; }
    .elementor-element-779b943 .e-n-menu-title,
    .elementor-element-779b943 .e-n-menu-title-text { white-space: nowrap; }
}
@media (max-width: 1024px) {
    /* hamburger sits tight on the far right, like the grey header */
    .elementor-element-779b943,
    .elementor-element-779b943 .e-n-menu-toggle { width: auto !important; margin: 0 !important; padding: 0 !important; }
}

/* Product page: hide the "Featured installs" section when its grid finds no projects.
   Grid CSS ID: Featured-installs  |  section CSS ID: Featured-installs-container
   Only on the live site, so the section stays editable in Elementor. */
body:not(.elementor-editor-active) #Featured-installs-container:not(:has(#Featured-installs .e-loop-item)) {
    display: none !important;
}


/* Project page: hide the Specified-here block when its carousel (Specified-here-grid) has no products.
   Only on the live site, so the block stays editable in Elementor. */
body:not(.elementor-editor-active) #Specified-here:not(:has(#Specified-here-grid .e-loop-item)) {
    display: none !important;
}


/* ============ Samples side panel (menu cart off-canvas) ============
   The toggle rules above collapse line-height to 0 on the widget; the panel
   lives inside it, so everything here resets that and restyles to match the
   product page: Prata names, Saira Condensed buttons, Reddit Mono labels. */
[data-elementor-type="header"] .elementor-menu-cart__container { line-height: 1.4; }
[data-elementor-type="header"] .elementor-menu-cart__main {
    padding: 28px 32px !important;
    width: min(420px, 100vw) !important;
    max-width: 100vw !important;
    line-height: 1.4;
    color: #333;
}
[data-elementor-type="header"] .elementor-menu-cart__close-button { margin: 8px 0 12px auto; }
/* logged in: the WordPress admin bar (32px, 46px on phones) sits over the panel's top edge */
.admin-bar [data-elementor-type="header"] .elementor-menu-cart__main { padding-top: 60px !important; }
@media (max-width: 782px) {
    .admin-bar [data-elementor-type="header"] .elementor-menu-cart__main { padding-top: 74px !important; }
}
[data-elementor-type="header"] .widget_shopping_cart_content::before {
    content: "your samples";
    display: block;
    font-family: "Saira Condensed", sans-serif;
    font-size: 22px;
    letter-spacing: 1.9px;
    text-transform: lowercase;
    color: #1f1f1f;
    padding-bottom: 14px;
    border-bottom: 1px solid #e4e1dc;
}
[data-elementor-type="header"] .elementor-menu-cart__products,
[data-elementor-type="header"] .elementor-menu-cart__product { line-height: 1.4; }
[data-elementor-type="header"] .elementor-menu-cart__product {
    grid-template-columns: 80px 1fr !important;
    column-gap: 18px;
    align-items: center;
    padding: 16px 28px 16px 0 !important;
    border-bottom: 1px solid #e4e1dc !important;
}
[data-elementor-type="header"] .elementor-menu-cart__product-image img {
    width: 80px; height: 80px; object-fit: cover; display: block;
}
[data-elementor-type="header"] .elementor-menu-cart__product-image { grid-row: 1 / span 2; }
[data-elementor-type="header"] .elementor-menu-cart__product-name { align-self: end; margin: 0 !important; }
[data-elementor-type="header"] .elementor-menu-cart__product-name a {
    font-family: "Prata", serif !important;
    font-size: 19px !important;
    letter-spacing: .5px;
    color: #333 !important;
    text-decoration: none;
}
[data-elementor-type="header"] .elementor-menu-cart__product-name a:hover { color: #9A8E7D !important; }
/* samples are free: "1 x $0.00" becomes a small "sample" tag */
[data-elementor-type="header"] .elementor-menu-cart__product-price {
    grid-column: 2;
    align-self: start;
    padding-top: 4px;
    font-size: 0 !important;
    color: transparent !important;
    margin: 0 !important;
}
[data-elementor-type="header"] .elementor-menu-cart__product-price * { display: none; }
[data-elementor-type="header"] .elementor-menu-cart__product-price::before {
    content: "sample";
    font-family: "Reddit Mono", monospace;
    font-size: 12px;
    letter-spacing: 1px;
    color: #9A8E7D;
}
[data-elementor-type="header"] .elementor-menu-cart__product-remove {
    top: 50% !important; right: 0 !important; transform: translateY(-50%);
    border-color: #c9c4bc !important; opacity: .8;
}
[data-elementor-type="header"] .elementor-menu-cart__product-remove:hover { border-color: #1f1f1f !important; opacity: 1; }
[data-elementor-type="header"] .elementor-menu-cart__product-remove::before,
[data-elementor-type="header"] .elementor-menu-cart__product-remove::after { background: #6b6b6b !important; }
[data-elementor-type="header"] .elementor-menu-cart__subtotal { display: none !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin-top: 22px !important;
}
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button {
    font-family: "Saira Condensed", sans-serif !important;
    font-size: 19px !important;
    letter-spacing: 1.9px !important;
    text-transform: lowercase !important;
    line-height: 1 !important;
    padding: 15px 20px !important;
    border-radius: 0 !important;
    border: 1px solid #1f1f1f !important;
    transition: background-color .2s, color .2s, border-color .2s;
}
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button-text { display: inline !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button--checkout { order: -1; background: #1f1f1f !important; color: #fff !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background: #9A8E7D !important; border-color: #9A8E7D !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button--view-cart { background: transparent !important; color: #1f1f1f !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button--view-cart:hover { color: #9A8E7D !important; border-color: #9A8E7D !important; }
[data-elementor-type="header"] .elementor-menu-cart__footer-buttons .elementor-button--checkout .elementor-button-text::after { content: " →"; }
/* empty state */
[data-elementor-type="header"] .woocommerce-mini-cart__empty-message {
    font-family: "Reddit Mono", monospace; font-size: 14px; color: #6b6b6b; padding-top: 18px; line-height: 1.5;
}

/* Collection pages (Autentico and its copies: Nuevo Classico, Natura, Spectrum, Lusso,
   Infiniti Pure): hide the Featured Installations section (c7631c3) when its projects grid
   has nothing to show. It comes back by itself once a project is linked.
   Live site only, so it stays editable in Elementor. */
body:not(.elementor-editor-active) .elementor-element-c7631c3:not(:has(.e-loop-item)) {
    display: none !important;
}

/* Cart page (template 9497): on phones, hide the top half (the "Specify terra legno" intro
   and the Register Your Project / Speak With Our Team boxes) so the samples list comes first.
   Only the cart page; the Specify page keeps it. Live site only, so it stays editable. */
@media (max-width: 767px) {
    body:not(.elementor-editor-active) [data-elementor-id="9497"] .elementor-element-63f9805 {
        display: none !important;
    }
    /* with the top half gone, give "Your Samples" room below the header */
    body:not(.elementor-editor-active) [data-elementor-id="9497"] .elementor-element-e1bb45f {
        padding-top: 48px !important;
    }
}

/* Cart (cart page and Specify page) on phones: WooCommerce's woocommerce-smallscreen.css
   hides each sample's photo below 768px. Bring it back at the top of each sample card. */
@media (max-width: 768px) {
    .woocommerce table.shop_table_responsive.cart tr td.product-thumbnail,
    .woocommerce-page table.shop_table_responsive.cart tr td.product-thumbnail {
        display: block !important;
        text-align: left !important;
        padding-top: 4px;
    }
    .woocommerce table.shop_table_responsive.cart tr td.product-thumbnail::before { display: none !important; }
    .woocommerce table.shop_table_responsive.cart tr td.product-thumbnail img {
        width: 96px !important;
        max-width: 96px !important;
        height: 120px;
        object-fit: cover; /* vertical swatches are portrait (4:5) */
        display: block;
    }
}

/* Checkout &amp; My account (plain WooCommerce pages, no Elementor template):
   120px of space before the footer, and WooCommerce's purple "alt" buttons
   (Place order, Proceed to checkout) restyled to the site's black / taupe buttons. */
body.woocommerce-checkout main.site-main,
body.woocommerce-account main.site-main {
    padding-bottom: 120px;
}
.woocommerce #place_order,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
    background-color: #1f1f1f !important;
    color: #fff !important;
    border: 1px solid #1f1f1f !important;
    border-radius: 0 !important;
    font-family: "Saira Condensed", sans-serif !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    letter-spacing: 1.9px !important;
    text-transform: lowercase !important;
    padding: 14px 28px !important;
    transition: background-color .2s, border-color .2s;
}
/* the payment area is a grey box by default; samples are free, so it only ever holds
   the Place order button. No box, button sits on the page like the rest. */
.woocommerce-checkout #payment,
.woocommerce-checkout #payment div.form-row.place-order {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
}
.woocommerce-checkout #payment { margin-top: 28px !important; }
.woocommerce #place_order:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
    background-color: #9A8E7D !important;
    border-color: #9A8E7D !important;
    color: #fff !important;
}

/* Site-wide fallback colours: replace the Hello theme's default pink (#c36) and blue hover (#336).
   Same low specificity as the theme reset, so any link or button with its own style is unaffected. */
a{color:var(--e-global-color-010f8bc,#9A8E7D);}
a:hover,a:active{color:var(--e-global-color-05995d3,#373737);}
[type=button],[type=submit],button{border-color:var(--e-global-color-010f8bc,#9A8E7D);color:var(--e-global-color-010f8bc,#9A8E7D);}
[type=button]:focus,[type=button]:hover,[type=submit]:focus,[type=submit]:hover,button:focus,button:hover{background-color:var(--e-global-color-010f8bc,#9A8E7D);color:#fff;}

/* Collection swatch grid (loop 9735): every swatch the same 5:4 shape, cropped to fill, whatever size was uploaded */
[data-elementor-id="9735"] img{width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;}/* End custom CSS */