html {
    background: white;
    color:      black;
}

html, body {
    margin:  0;
    padding: 0;
}

p, ul, ol {
    margin: 0;
}
#ecs form label {

    display: block;
    margin:  var( --spacing-m ) 0 var( --spacing-s );
    font:    300 var( --font-size-title-4 ) / var( --font-line-height-title-4 ) var( --font-family-headings );
        }
#ecs form label .required {

        color: var( --ecs-2026-or );
    }
#ecs form label {
        color: var( --ecs-2026-noir );
}
#ecs form input[type="text"],
        #ecs form input[type="email"],
        #ecs form input[type="password"],
        #ecs form input[type="number"],
        #ecs form input[type="tel"],
        #ecs form input[type="url"],
        #ecs form input[type="search"],
        #ecs form input[type="date"],
        #ecs form input[type="time"],
        #ecs form input[type="datetime"],
        #ecs form input[type="datetime-local"],
        #ecs form textarea {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-black );
        }
#ecs form .select2 .select2-selection {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-black );
            }
#ecs form fieldset:not(.gfield--type-checkbox) {

            position: relative;
            border: none;
            background: var( --ecs-2026-seasalt );
            margin-top: var( --spacing-l );
            padding: calc(var( --spacing-m )*3 + var( --font-line-height-title-3 )) var( --spacing-l ) var( --spacing-l );
        }
#ecs form fieldset:not(.gfield--type-checkbox) legend {

                display: block;
                position: absolute;
                top: var( --spacing-l );
                left: var( --spacing-l );
                font: 300 var( --font-size-title-3 ) / var( --font-line-height-title-3 ) var( --font-family-headings );
                color: var( --ecs-2026-or );
            }
#ecs .c-callout--grey form label, #ecs .c-callout--black form label {

    display: block;
    margin:  var( --spacing-m ) 0 var( --spacing-s );
    font:    300 var( --font-size-title-4 ) / var( --font-line-height-title-4 ) var( --font-family-headings );
            }
#ecs .c-callout--grey form label .required, #ecs .c-callout--black form label .required {

        color: var( --ecs-2026-or );
    }
#ecs .c-callout--grey form label, #ecs .c-callout--black form label {
        color: var( --ecs-2026-linen );
}
#ecs .c-callout--grey form input[type="text"],
            #ecs .c-callout--grey form input[type="email"],
            #ecs .c-callout--grey form input[type="password"],
            #ecs .c-callout--grey form input[type="number"],
            #ecs .c-callout--grey form input[type="tel"],
            #ecs .c-callout--grey form input[type="url"],
            #ecs .c-callout--grey form input[type="search"],
            #ecs .c-callout--grey form input[type="date"],
            #ecs .c-callout--grey form input[type="time"],
            #ecs .c-callout--grey form input[type="datetime"],
            #ecs .c-callout--grey form input[type="datetime-local"],
            #ecs .c-callout--grey form textarea,
            #ecs .c-callout--black form input[type="text"],
            #ecs .c-callout--black form input[type="email"],
            #ecs .c-callout--black form input[type="password"],
            #ecs .c-callout--black form input[type="number"],
            #ecs .c-callout--black form input[type="tel"],
            #ecs .c-callout--black form input[type="url"],
            #ecs .c-callout--black form input[type="search"],
            #ecs .c-callout--black form input[type="date"],
            #ecs .c-callout--black form input[type="time"],
            #ecs .c-callout--black form input[type="datetime"],
            #ecs .c-callout--black form input[type="datetime-local"],
            #ecs .c-callout--black form textarea {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-blanc );
            }
#ecs .c-callout--grey form .select2 .select2-selection, #ecs .c-callout--black form .select2 .select2-selection {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-blanc );
                }
#ecs .gchoice {

        gap: var( --spacing-m );
    }
#ecs .gchoice label {
            margin: 0;
            cursor: pointer;
        }
#ecs .gform_button {

    padding:        var( --spacing-s ) var( --spacing-m );
    border:         none;
    border-radius:  0;
    font:           300 var( --font-size-button ) / var(  --font-line-height-button ) var( --font-family-body );

        background: var( --ecs-2026-or    );
        color:      var( --ecs-2026-blanc );
    }
#ecs .gform_button:hover,
        #ecs .gform_button:focus {

            background: var( --ecs-2026-blanc );
            color:      var( --ecs-2026-or    );
        }
#ecs .gfield_required_asterisk {

        margin-left: .1rem;
        font-family: var( --font-family-headings );
        font-size:   1rem;
        color:       var( --ecs-2026-or );
    }
#ecs .gform_required_legend .gfield_required_asterisk {
            position: relative;
            top: .25em;
        }
.ecs-facets-bar {

    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    margin: 0 0 var( --spacing-l );
    position: relative;
    z-index: 5;
}
.ecs-facets-bar__item {

        position: relative;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        flex: 0 1 auto;
        min-width: 10rem;
        max-width: 16rem;
    }
.ecs-facets-bar button.ecs-facets-bar__toggle {

        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        width: 100%;
        min-height: 0;
        padding: 0.375rem 0.75rem;
        border: 0.0625rem solid var( --ecs-2026-or );
        border-radius: 0.375rem;
        background: var( --ecs-2026-blanc );
        color: var( --ecs-2026-noir );
        font: 600 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
        text-align: left;
        cursor: pointer;
        box-shadow: none;
    }
.ecs-facets-bar button.ecs-facets-bar__toggle:hover,
        .ecs-facets-bar button.ecs-facets-bar__toggle:focus,
        .ecs-facets-bar button.ecs-facets-bar__toggle:focus-visible,
        .ecs-facets-bar button.ecs-facets-bar__toggle[aria-expanded="true"] {

            background: var( --ecs-2026-blanc );
            color: var( --ecs-2026-noir );
            border-color: var( --ecs-2026-or );
        }
.ecs-facets-bar__toggle-icon {

        flex: 0 0 auto;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0.3125rem 0.25rem 0;
        border-color: var( --ecs-2026-noir ) transparent transparent;
        transform: none;
        transition: transform 0.15s ease;
    }
.ecs-facets-bar__item.is-open .ecs-facets-bar__toggle-icon {

        transform: rotate( 180deg );
    }
.ecs-facets-bar__panel {

        position: absolute;
        top: calc(100% + 0.5rem);
        left: 0;
        z-index: 20;
        min-width: 100%;
        width: max-content;
        max-width: min( 28rem, 90vw );
        padding: 1rem 1.25rem;
        border: 0.0625rem solid var( --ecs-2026-linen );
        border-radius: 0.25rem;
        background: var( --ecs-2026-blanc );
        box-shadow: 0 0.5rem 1.25rem rgba( 0, 0, 0, 0.08 );
    }
.ecs-facets-bar__panel[hidden] {

            display: none;
        }
.ecs-facets-bar__item--slider .ecs-facets-bar__panel {

        min-width: 28rem;
        max-width: min( 36rem, 92vw );
        padding-top: 1rem;
    }
.ecs-facets-bar button.ecs-facets-bar__clear {

        align-self: flex-start;
        margin: 0 0 0.375rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: var( --ecs-2026-noir );
        font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
        cursor: pointer;
        box-shadow: none;
    }
.ecs-facets-bar button.ecs-facets-bar__clear[hidden] {

            display: none;
        }
.ecs-facets-bar button.ecs-facets-bar__clear:hover,
        .ecs-facets-bar button.ecs-facets-bar__clear:focus,
        .ecs-facets-bar button.ecs-facets-bar__clear:focus-visible {

            background: transparent;
            color: var( --ecs-2026-noir );
            border-color: transparent;
        }
.ecs-facets-bar__panel-body .facetwp-facet {

            margin: 0;
        }
.ecs-facets-bar__panel-body .facetwp-counter,
        .ecs-facets-bar__panel-body .facetwp-slider-label,
        .ecs-facets-bar__panel-body .facetwp-slider-reset {

            display: none;
        }
.ecs-facets-bar__item:not( .ecs-facets-bar__item--slider ) .ecs-facets-bar__panel-body .facetwp-facet {

            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            gap: 0.75rem 1.75rem;
        }
.ecs-facets-bar__item:not( .ecs-facets-bar__item--slider ) .ecs-facets-bar__panel-body .facetwp-checkbox {

            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            flex: 0 0 auto;
            margin: 0;
            padding: 0 !important;
            background: none !important;
            background-image: none !important;
            font: 300 var( --font-size-text-s ) / var( --font-line-height-text-s ) var( --font-family-body );
            color: var( --ecs-2026-noir );
            cursor: pointer;
            white-space: nowrap;
        }
.ecs-facets-bar__item:not( .ecs-facets-bar__item--slider ) .ecs-facets-bar__panel-body .facetwp-checkbox::before {

                content: "";
                flex: 0 0 auto;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 1rem;
                height: 1rem;
                border: 0.0625rem solid var( --ecs-2026-noir );
                border-radius: 0.125rem;
                background: var( --ecs-2026-blanc );
                box-sizing: border-box;
                color: var( --ecs-2026-noir );
                font-size: 0.75rem;
                line-height: 1;
            }
.ecs-facets-bar__item:not( .ecs-facets-bar__item--slider ) .ecs-facets-bar__panel-body .facetwp-checkbox.checked::before {

                content: "✓";
            }
.ecs-facets-bar__item:not( .ecs-facets-bar__item--slider ) .ecs-facets-bar__panel-body .facetwp-checkbox.disabled {

                opacity: 0.4;
                cursor: not-allowed;
            }
.ecs-facets-bar__slider {

        display: block;
        padding: 0.5rem 0.75rem 0.25rem;
        user-select: none;
    }
.ecs-facets-bar__slider-track {

        position: relative;
        height: 0.125rem;
        margin: 0.875rem 0.5rem 1.25rem;
        background: var( --ecs-2026-linen );
    }
.ecs-facets-bar__slider-range {

        position: absolute;
        top: 0;
        height: 100%;
        background: var( --ecs-2026-or );
    }
.ecs-facets-bar__slider-handle {

        position: absolute;
        top: 50%;
        width: 0.75rem;
        height: 0.75rem;
        margin-left: -0.375rem;
        border: 0.0625rem solid var( --ecs-2026-or );
        border-radius: 0.0625rem;
        background: var( --ecs-2026-or );
        transform: translateY( -50% );
        cursor: grab;
        touch-action: none;
    }
.ecs-facets-bar__slider-handle:active {

            cursor: grabbing;
        }
.ecs-facets-bar__slider-handle:focus-visible {

            outline: 0.125rem solid var( --ecs-2026-or );
            outline-offset: 0.125rem;
        }
.ecs-facets-bar__slider-labels {

        display: flex;
        justify-content: space-between;
        gap: 0.5rem;
        margin: 0;
        padding: 0;
        list-style: none;
    }
.ecs-facets-bar__slider-label {

        flex: 1 1 0;
        text-align: center;
        font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
        color: var( --ecs-2026-noir );
    }
@media ( max-width: 48rem ) {

        .ecs-facets-bar__item {

            flex: 1 1 calc(50% - 0.5rem);
            max-width: none;
        }

        .ecs-facets-bar__item--slider .ecs-facets-bar__panel {

            min-width: 100%;
            left: 0;
            right: 0;
        }
    }
@media ( max-width: 30rem ) {

        .ecs-facets-bar__item {

            flex: 1 1 100%;
        }
    }
.ecs-header-target:not( .is-open ) {
        display: none;
    }
.ecs-header-target.is-open {
        display: flex;
    }
.home #site-header {

    --site-header-logo-width: 16rem;

    position: absolute;
    top:      0;  
    right:    0;
    left:     0;
    z-index:  10000;

}
.home #site-header .site-header__separator {
            background-color: var( --ecs-2026-blanc );
        }
.home #site-header .site-header__icon {
            color: var( --ecs-2026-blanc );
        }
.home #site-header .site-header__content {
            position: relative;
            padding:  0;
        }
@media ( min-width: 768px ) {
.home #site-header .site-header__logo {
                position:  absolute;
                left:      50%;
                transform: translateX( -50% )
        }
            }
.home #site-header .weglot-dropdown {
        background: transparent;
        color: var( --ecs-2026-blanc );
    }
.home #site-header .site-menu {

        margin-top: .6rem;
        background: transparent;
    }
.home #site-header .site-menu .elementor-widget-n-menu .e-n-menu-toggle {
                background: transparent;
            }
@media ( max-width: 768px ) {
.home #site-header .site-menu .elementor-widget-n-menu {
                --n-menu-toggle-icon-color: var( --ecs-2026-blanc )
        }
            }
@media ( min-width: 768px ) {

                .home #site-header .site-menu .elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading {

                    justify-content: center !important;
                }

                    .home #site-header .site-menu .elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item {

                        flex: 1 0 0;
                    }

                        .home #site-header .site-menu .elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item:nth-child( 3 ) {
                            margin-right: calc(var( --site-header-logo-width )/2 + var( --spacing-s ));
                            
                        }

                        .home #site-header .site-menu .elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item:nth-child( 4 ) {
                            margin-left: calc(var( --site-header-logo-width )/2 + var( --spacing-s ));
                        }

                        .home #site-header .site-menu .elementor-widget-n-menu > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title {
                            padding-left: var( --spacing-s );
                            padding-right: var( --spacing-s );
                        }
            }

.elementor-widget-n-accordion .e-n-accordion-item {

        border-top: 0.0625rem solid var( --ecs-2026-or );
        padding:    0 calc(var( --spacing-xxl ) + 1rem) 0 var( --spacing-xxl );
        margin:     0 0 var( --spacing-m );
    }

.elementor-widget-n-accordion .e-n-accordion-item > .e-con {

            padding-bottom: var( --spacing-l );
            border:         none;
        }

@media ( max-width: 768px ) {

.elementor-widget-n-accordion .e-n-accordion-item {
            
            padding: 0 calc(var( --spacing-s ) + 1rem) 0 var( --spacing-s )
    }
        }

.elementor-widget-n-accordion .e-n-accordion-item-title {

        --n-accordion-padding: var( --spacing-m ) 0;

        position: relative;
        width:    100%;
        border:   none;
        font:     var( --font-size-title-3 ) var( --font-family-headings );
    }

.elementor-widget-n-accordion .e-n-accordion-item-title-icon {

        position: absolute;
        right:    -1rem;
    }
.elementor-widget-image-gallery .gallery {
        text-align: center;
    }
.ecs-product-specs__heading {

        display:         flex;
        justify-content: space-between;
        cursor:          pointer;
        margin:          0;
    }
.ecs-product-specs__title {
        order:      1;
        text-align: center;
    }
.ecs-product-specs__icons {
        order: 2;
    }
.ecs-product-specs__icon {

        width:   1rem;
        height:  1rem;
    }
.ecs-product-specs__icon svg {

            display: block;
            width:   100%;
            height:  100%;
        }
.ecs-product-specs__section.is-collapsed .ecs-product-specs__icon--closed {
                display: block;
            }
.ecs-product-specs__section.is-collapsed .ecs-product-specs__icon--open {
                display: none;
            }
.ecs-product-specs__section.is-expanded .ecs-product-specs__icon--open {
                display: block;
            }
.ecs-product-specs__section.is-expanded .ecs-product-specs__icon--closed {
                display: none;
            }
.ecs-product-specs__list {

        display: table;
    }
.ecs-product-specs__row {

        display: table-row;
    }
.ecs-product-specs__attribute,
    .ecs-product-specs__value {

        display: table-cell;
        padding: 1rem;
    }
.elementor-widget-text-editor h1 {
        margin: 1rem 0 .5rem;
    }
.elementor-widget-text-editor h2 {
        margin: 1rem 0 .75rem;
    }
.elementor-widget-text-editor h3 {
        margin: 1rem 0 .5rem;
    }
.elementor-widget-text-editor h4 {
        margin: 1rem 0 .25rem;
    }
.elementor-widget-text-editor h5 {
        margin: 1rem 0 .25rem;
    }
.elementor-widget-text-editor h6 {
        margin: 1rem 0 .25rem;
    }
.elementor-widget-text-editor p, 
    .elementor-widget-text-editor ul, 
    .elementor-widget-text-editor ol {

        margin: 0 0 1rem;
    }
.elementor-widget-text-editor h1:first-child, .elementor-widget-text-editor h2:first-child, .elementor-widget-text-editor h3:first-child, .elementor-widget-text-editor h4:first-child, .elementor-widget-text-editor h5:first-child, .elementor-widget-text-editor h6:first-child, .elementor-widget-text-editor p:first-child, .elementor-widget-text-editor ul:first-child, .elementor-widget-text-editor ol:first-child {
            margin-top: 0;
        }
.elementor-widget-text-editor h1:last-child, .elementor-widget-text-editor h2:last-child, .elementor-widget-text-editor h3:last-child, .elementor-widget-text-editor h4:last-child, .elementor-widget-text-editor h5:last-child, .elementor-widget-text-editor h6:last-child, .elementor-widget-text-editor p:last-child, .elementor-widget-text-editor ul:last-child, .elementor-widget-text-editor ol:last-child {
            margin-bottom: 0;
        }
.elementor-widget-text-editor ul {

        list-style: none;
        padding:    0;
    }
.elementor-widget-text-editor ul li {

            padding-left:  1em;
            margin-bottom: .25rem;
            text-indent:   -.75em;
        }
.elementor-widget-text-editor ul li::before {
                display:     inline-block;
                width:       .75em;
                content:     '·';
                font-size:   1em;
                text-indent: 0;
            }
.elementor-widget-text-editor a {

        color:                     inherit;
        text-decoration:           underline;
        text-decoration-thickness: 0.0625rem;
        text-underline-offset:     .15em;
    }
.elementor-widget-text-editor a:hover,
        .elementor-widget-text-editor a:focus {
            opacity: .8;
        }

#ecs .woocommerce span.onsale {

            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var( --ecs-2026-or );
            padding:         0.25rem 0.5rem;
            aspect-ratio:    1 / 1;
        }
#ecs .woocommerce form p:empty {
            display: none;
        }
#ecs .woocommerce form label {

    display: block;
    margin:  var( --spacing-m ) 0 var( --spacing-s );
    font:    300 var( --font-size-title-4 ) / var( --font-line-height-title-4 ) var( --font-family-headings );
        }
#ecs .woocommerce form label .required {

        color: var( --ecs-2026-or );
    }
#ecs .woocommerce form label {
        color: var( --ecs-2026-noir );
}
#ecs .woocommerce form input[type="text"],
        #ecs .woocommerce form input[type="email"],
        #ecs .woocommerce form input[type="password"],
        #ecs .woocommerce form input[type="number"],
        #ecs .woocommerce form input[type="tel"],
        #ecs .woocommerce form input[type="url"],
        #ecs .woocommerce form input[type="search"],
        #ecs .woocommerce form input[type="date"],
        #ecs .woocommerce form input[type="time"],
        #ecs .woocommerce form input[type="datetime"],
        #ecs .woocommerce form input[type="datetime-local"] {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-black );
        }
#ecs .woocommerce form .select2 .select2-selection {

    width:         100%;
    padding:       var( --spacing-s );
    border:        none;
    border-bottom: 0.0625rem solid var( --ecs-2026-or );
    border-left:   0.0625rem solid var( --ecs-2026-or );
    border-radius: 0;
    box-shadow:    none;
    background:    transparent;
    font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );

        color: var( --ecs-2026-black );
            }
#ecs .woocommerce form .form-row {

            width:   100%;
            padding: 0;
            margin:  0;
        }
#ecs .woocommerce form button[type="submit"] {

    padding:        var( --spacing-s ) var( --spacing-m );
    border:         none;
    border-radius:  0;
    font:           300 var( --font-size-button ) / var(  --font-line-height-button ) var( --font-family-body );

        background: var( --ecs-2026-or    );
        color:      var( --ecs-2026-blanc );
        }
#ecs .woocommerce form button[type="submit"]:hover,
        #ecs .woocommerce form button[type="submit"]:focus {

            background: var( --ecs-2026-blanc );
            color:      var( --ecs-2026-or    );
        }
#ecs .woocommerce form p:has(button[type="submit"]) {
            margin: var( --spacing-xl ) 0;
        }
#ecs .woocommerce-message,
    #ecs .woocommerce-info,
    #ecs .woocommerce-error {

        --icon-width: 1rem;

        display:          flex;
        flex-direction:   row;
        justify-content:  flex-start;
        align-items:      center;
        gap:              var( --spacing-s ) var( --spacing-m );
        border-top-color: var( --ecs-2026-or );
        padding:          var( --spacing-m );
        background-color: var( --ecs-2026-linen );
    }
#ecs .woocommerce-message::before, #ecs .woocommerce-info::before, #ecs .woocommerce-error::before {
            position: static;
            color:    var( --ecs-2026-or );
            width:    var( --icon-width );
        }
#ecs .woocommerce-message::after, #ecs .woocommerce-info::after, #ecs .woocommerce-error::after {
            display: none;
        }
#ecs .woocommerce-message .button, #ecs .woocommerce-info .button, #ecs .woocommerce-error .button {

    padding:        var( --spacing-s ) var( --spacing-m );
    border:         none;
    border-radius:  0;
    font:           300 var( --font-size-button ) / var(  --font-line-height-button ) var( --font-family-body );

        background: var( --ecs-2026-or    );
        color:      var( --ecs-2026-blanc );
        }
#ecs .woocommerce-message .button:hover,
        #ecs .woocommerce-message .button:focus,
        #ecs .woocommerce-info .button:hover,
        #ecs .woocommerce-info .button:focus,
        #ecs .woocommerce-error .button:hover,
        #ecs .woocommerce-error .button:focus {

            background: var( --ecs-2026-blanc );
            color:      var( --ecs-2026-or    );
        }
#ecs .woocommerce-message .button, #ecs .woocommerce-info .button, #ecs .woocommerce-error .button {

            margin-left: auto;
}
#ecs .woocommerce-error {

        flex-wrap: wrap;
    }
#ecs .woocommerce-error li  {

            list-style: none;
            width: calc(100% - var( --spacing-m ) - var( --icon-width ));
        }
#ecs .woocommerce-error li:not(:first-of-type) {
                margin-left: calc(var( --icon-width ) + var( --spacing-m )) !important;
            }
#ecs .woocommerce-error li::before {
                display: none;
            }
#ecs .single-product .site-viewport > .woocommerce-notices-wrapper {

            width:         100%;
            max-width:     var( --l-wide-viewport-max-width );
            padding-left:  var( --l-container-margin        );
            padding-right: var( --l-container-margin        );
            margin:        var( --spacing-m ) auto;
        }
#customer_login {

    display: flex;
    gap: var( --l-columns-gutter );
    justify-content: space-evenly;
    flex-wrap: wrap;
}
#customer_login:before,
    #customer_login:after {
        display: none;
    }
#customer_login .col-1,
    #customer_login .col-2 {
    
        width:      100%;
        padding:    var( --spacing-l );
        max-width:  20rem;
        background: var( --ecs-2026-gris );
        color:      var( --ecs-2026-linen );
    }
#customer_login h2 {

        padding-bottom: var( --spacing-m );
        margin-bottom:  var( --spacing-xl );
        color:          var( --ecs-2026-linen );
        border-bottom:  0.0625rem solid var( --ecs-2026-linen );
    }
#customer_login .woocommerce-form {

        padding:    0;
        margin:     0;
        border:     none;
        background: transparent;
    }
#customer_login .woocommerce-form-row {

            margin: var( --spacing-l ) 0;
            padding: 0;
        }
#customer_login .woocommerce-form-row:before,
            #customer_login .woocommerce-form-row:after {
                display: none;
            }
#customer_login .woocommerce-form-row label {

                display: block;
                margin:  var( --spacing-m ) 0 var( --spacing-s );
                color:   var( --ecs-2026-linen );
                font:    300 var( --font-size-title-4 ) / var( --font-line-height-title-4 ) var( --font-family-headings );
            }
#customer_login .woocommerce-form-row label .required {
                    color: var( --ecs-2026-or );
                }
#customer_login .woocommerce-form-row input[type="text"],
            #customer_login .woocommerce-form-row input[type="email"],
            #customer_login .woocommerce-form-row input[type="password"] {

                width:         100%;
                padding:       var( --spacing-s );
                border:        none;
                border-bottom: 0.0625rem solid var( --ecs-2026-or );
                border-left:   0.0625rem solid var( --ecs-2026-or );
                border-radius: 0;
                background:    transparent;
                color:         var( --ecs-2026-linen );
                font:          300 var( --font-size-text-s ) / var(  --font-line-height-text-s ) var( --font-family-body );
            }
#customer_login .woocommerce-form .show-password-input::before {
                /* taken directly from the woocommerce stylesheet, switched the fill color */
                background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M18.3 9.49999C15 4.89999 8.50002 3.79999 3.90002 7.19999C2.70002 8.09999 1.70002 9.29999 0.900024 10.6C1.10002 11 1.40002 11.4 1.70002 11.8C5.00002 16.4 11.3 17.4 15.9 14.2C16.8 13.5 17.6 12.8 18.3 11.8C18.6 11.4 18.8 11 19.1 10.6C18.8 10.2 18.6 9.79999 18.3 9.49999ZM10.1 7.19999C10.6 6.69999 11.4 6.69999 11.9 7.19999C12.4 7.69999 12.4 8.49999 11.9 8.99999C11.4 9.49999 10.6 9.49999 10.1 8.99999C9.60003 8.49999 9.60003 7.69999 10.1 7.19999ZM10 14.9C6.90002 14.9 4.00002 13.3 2.30002 10.7C3.50002 8.99999 5.10002 7.79999 7.00002 7.19999C6.30002 7.99999 6.00002 8.89999 6.00002 9.89999C6.00002 12.1 7.70002 14 10 14C12.2 14 14.1 12.3 14.1 9.99999V9.89999C14.1 8.89999 13.7 7.89999 13 7.19999C14.9 7.79999 16.5 8.99999 17.7 10.7C16 13.3 13.1 14.9 10 14.9Z" fill="%23a89073"/></svg>')
            }
#customer_login .woocommerce-form .show-password-input.display-password::before {
                /* taken directly from the woocommerce stylesheet, switched the fill color */
                background-image: url('data:image/svg+xml,<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M17.3 3.3C16.9 2.9 16.2 2.9 15.7 3.3L13.3 5.7C12.2437 5.3079 11.1267 5.1048 10 5.1C6.2 5.2 2.8 7.2 1 10.5C1.2 10.9 1.5 11.3 1.8 11.7C2.6 12.8 3.6 13.7 4.7 14.4L3 16.1C2.6 16.5 2.5 17.2 3 17.7C3.4 18.1 4.1 18.2 4.6 17.7L17.3 4.9C17.7 4.4 17.7 3.7 17.3 3.3ZM6.7 12.3L5.4 13.6C4.2 12.9 3.1 11.9 2.3 10.7C3.5 9 5.1 7.8 7 7.2C5.7 8.6 5.6 10.8 6.7 12.3ZM10.1 9C9.6 8.5 9.7 7.7 10.2 7.2C10.7 6.8 11.4 6.8 11.9 7.2L10.1 9ZM18.3 9.5C17.8 8.8 17.2 8.1 16.5 7.6L15.5 8.6C16.3 9.2 17 9.9 17.6 10.8C15.9 13.4 13 15 9.9 15H9.1L8.1 16C8.8 15.9 9.4 16 10 16C13.3 16 16.4 14.4 18.3 11.7C18.6 11.3 18.8 10.9 19.1 10.5C18.8 10.2 18.6 9.8 18.3 9.5ZM14 10L10 14C12.2 14 14 12.2 14 10Z" fill="%23a89073"/></svg>');
            }
#customer_login .woocommerce-form .show-password-input:hover, #customer_login .woocommerce-form .show-password-input:focus {
                background-color: transparent;
            }
#customer_login .woocommerce-form .show-password-input:hover::before, #customer_login .woocommerce-form .show-password-input:focus::before {
                    opacity: 80%;
                }
#customer_login .woocommerce-form-login p.form-row:has(button[type="submit"]) {
                display:     flex;
                align-items: center;
            }
#customer_login .woocommerce-form-login__rememberme {

                font-size: var( --font-size-text-xs );
                order: 2;
                font: 300 var( --font-size-text-xs ) / var(  --font-line-height-text-xs ) var( --font-family-body );
            }
#customer_login .woocommerce-form-login__rememberme br {
                    display: none;
                }
#customer_login .woocommerce-form-register p:not(.woocommerce-form-row) {
                font-size:   var( --font-size-text-xs        );
                line-height: var( --font-line-height-text-xs );
            }
#customer_login .woocommerce-form button[type="submit"] {

            padding:        var( --spacing-s ) var( --spacing-m );
            border:         none;
            border-radius:  0;
            background:     var( --ecs-2026-or );
            color:          var( --ecs-2026-linen );
            font:           300 var( --font-size-button ) / var(  --font-line-height-button ) var( --font-family-body );
        }
#customer_login .woocommerce-form button[type="submit"]:hover, 
            #customer_login .woocommerce-form button[type="submit"]:focus {
                background: var( --ecs-2026-blanc );
                color:      var( --ecs-2026-or );
            }
#customer_login .woocommerce-form .lost_password {

            margin-top: var( --spacing-m      );
            color:      var( --ecs-2026-linen );
        }
#customer_login .woocommerce-form .woocommerce-privacy-policy-text p {
            font-size: .7em;
        }
#customer_login .woocommerce-form .altcha {

            max-width: 100%;
            margin: var( --spacing-l ) 0;
            border:        none;
            border-radius: 0;
            background:   #ffffff15;
            color:         var( --ecs-2026-linen );
        }
#customer_login .woocommerce-form .altcha-widget-wrap {
                max-width: 100%;
                padding: 0;
            }
#customer_login .woocommerce-form .altcha-label,
            #customer_login .woocommerce-form .altcha label,
            #customer_login .woocommerce-form .altcha-label span {
                color: var( --ecs-2026-linen ) !important;
            }
#customer_login .woocommerce-form .altcha svg path {
                fill: var( --ecs-2026-linen );
            }
#woo-account > .woocommerce {

        display:        flex;
        flex-direction: row;
        align-items:    flex-start;
        justify-content: space-between;
        gap:            var( --l-columns-gutter );
    }
#woo-account > .woocommerce::before,
        #woo-account > .woocommerce::after {
            display: none;
        }
#woo-account .woocommerce-MyAccount-navigation {

            width:      100%;
            padding:    var( --spacing-l );
            max-width:  var( --l-col-03 );
            background: var( --ecs-2026-gris );
            color:      var( --ecs-2026-linen );
        }
#woo-account .woocommerce-MyAccount-navigation ul {

                list-style: none;
                padding:    0;
                margin:     0;
            }
#woo-account .woocommerce-MyAccount-navigation li::before {
                    display: none;
                }
#woo-account .woocommerce-MyAccount-navigation li a {
                    color: var( --ecs-2026-linen );
                }
#woo-account .woocommerce-MyAccount-navigation li.is-active a {
                        color: var( --ecs-2026-blanc );
                        font-weight: 400;
                    }
#woo-account .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--logout {

                    padding-top: var( --spacing-l );
                    border-top: 0.0625rem solid var( --ecs-2026-linen );
                    margin-top: var( --spacing-l );

                }
#woo-account .woocommerce-MyAccount-navigation a {

                font: 300 var( --font-size-text-m ) / 2.5rem var( --font-family-body );
                text-decoration: none;
            }
#woo-account .woocommerce-MyAccount-navigation br {
                display: none;
            }
#woo-account .woocommerce-MyAccount-content {

            width:      100%;
            padding:    0;
            max-width:  var( --l-col-08 );
        }
#woo-account .woocommerce-MyAccount-content a {
                color: var( --ecs-2026-or );
            }
#woo-account .addresses address {

            padding: var( --spacing-m ) 0;
        }
#woo-account .addresses .woocommerce-customer-details--phone,
            #woo-account .addresses .woocommerce-customer-details--email {

                display:     flex;
                align-items: center;
                padding:     0;
                gap:         .5rem;
            }
#woo-account .addresses .woocommerce-customer-details--phone::before, #woo-account .addresses .woocommerce-customer-details--email::before {

                    position:    static;
                    margin:      0;
                    line-height: 1;
                    font-size:   .75em;
                    color:       var( --ecs-2026-or );
                }
#woo-account .addresses .woocommerce-customer-details--phone {

                margin-top:    var( --spacing-m );
                margin-bottom: var( --spacing-s );
            }
#woo-account .addresses .edit {

            display:       inline-block;
            float:         none;
            margin-bottom: var( --spacing-m );
            font: 300 var( --font-size-button-s ) / var( --font-line-height-button-s ) var( --font-family-body );
            text-decoration: none;
            background: var( --ecs-2026-or );
            color: var( --ecs-2026-blanc );
            border: 0;
            padding: var( --spacing-s ) var( --spacing-m );
            border-radius: 0;
        }
#woo-account .addresses .edit br {
                display: none;
            }
#woo-account .woocommerce-address-fields__field-wrapper {

                display:        flex;
                flex-direction: row;
                flex-wrap:      wrap;
                gap:            var( --l-columns-gutter );
            }
#woo-account .woocommerce-Address {

        background: var( --ecs-2026-seasalt );
        padding: var( --spacing-m );
    }
#woo-account .woocommerce-Address-title {

            padding-bottom: var( --spacing-m );
            border-bottom: 0.0625rem solid var( --ecs-2026-or );
            margin-bottom: var( --spacing-m );
        }
#woo-account .woocommerce-Address address {

            font: 300 var( --font-size-text-s ) / var( --font-line-height-text-s ) var( --font-family-body );
        }
#woo-account #billing_first_name_field,
    #woo-account #shipping_first_name_field,
    #woo-account #billing_last_name_field,
    #woo-account #shipping_last_name_field,
    #woo-account #billing_phone_field,
    #woo-account #shipping_phone_field,
    #woo-account #billing_email_field,
    #woo-account #shipping_email_field {

        width: var( --l-col-04 );
    }
#woo-account #billing_postcode_field,
    #woo-account #shipping_postcode_field {
        width: var( --l-col-02 );
    }
#woo-account #billing_city_field,
    #woo-account #shipping_city_field {
        width: var( --l-col-06 );
    }
#woo-account .woocommerce-EditAccountForm p:has( #account_first_name ),
        #woo-account .woocommerce-EditAccountForm p:has( #account_last_name ) {
            max-width: var( --l-col-04 );
        }
#woo-account #account_display_name_description {
        margin-top: var( --spacing-xs );
        font: 300 .7em / 1.2em var( --font-family-body );
    }
.variations_form.ecs-variations-form table.variations {

            display: block;
            width: 100%;
            margin: 0 0 var( --spacing-m );
            border: none;
            border-collapse: collapse;
        }
.variations_form.ecs-variations-form table.variations tbody,
            .variations_form.ecs-variations-form table.variations tr,
            .variations_form.ecs-variations-form table.variations td,
            .variations_form.ecs-variations-form table.variations th {

                display: block;
                width: 100%;
                padding: 0;
                border: none;
            }
.variations_form.ecs-variations-form table.variations th.label {

                display: none;
            }
.variations_form.ecs-variations-form table.variations td.value {

                padding: 0;
            }
.variations_form.ecs-variations-form .reset_variations {

            display: inline-block;
            margin: 0 0 var( --spacing-m );
            font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
            color: var( --ecs-2026-noir );
            text-decoration: underline;
        }
.variations_form.ecs-variations-form .reset_variations:hover,
            .variations_form.ecs-variations-form .reset_variations:focus {

                color: var( --ecs-2026-or );
            }
.ecs-variation-select {

    position: relative;
    display: block;
    width: 100%;
    margin: 0 0 var( --spacing-s );
}
.ecs-variation-select select {

        position: absolute;
        inset: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        margin: 0;
        padding: 0;
        border: none;
        opacity: 0;
        cursor: pointer;
        appearance: none;
    }
.ecs-variation-select__display {

        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: var( --spacing-m );
        padding: var( --spacing-m );
        border: 0.0625rem solid var( --ecs-2026-noir );
        background: var( --ecs-2026-blanc );
    }
.ecs-variation-select__text {

        display: flex;
        flex-direction: column;
        gap: 0.25rem;
        min-width: 0;
    }
.ecs-variation-select__label {

        font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
        color: var( --ecs-2026-noir );
    }
.ecs-variation-select__value {

        font: 600 var( --font-size-text-s ) / var( --font-line-height-text-s ) var( --font-family-body );
        color: var( --ecs-2026-noir );
    }
.ecs-variation-select.is-empty .ecs-variation-select__value {

        font-weight: 300;
    }
.ecs-variation-select__icon {

        flex: 0 0 auto;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0.3125rem 0.25rem 0;
        border-color: var( --ecs-2026-noir ) transparent transparent;
    }
.variations_form.ecs-variations-form .ecs-shipping-method-select, form.cart .ecs-shipping-method-select {

        display: block;
        width: 100%;
        margin: 0;
    }
.variations_form.ecs-variations-form .ecs-shipping-method-select__heading, form.cart .ecs-shipping-method-select__heading {

        margin: 4rem 0 0.5rem;
    }
.variations_form.ecs-variations-form .ecs-shipping-method-select__options, form.cart .ecs-shipping-method-select__options {

        display: flex;
        flex-direction: column;
        gap: 0;
    }
.ecs-variation-select.ecs-shipping-method-option {

    position: relative;
    display:  block;
    width:    100%;
    margin:   0 0 0.5rem;
    font:     inherit;
    color:    inherit;
}
.ecs-variation-select.ecs-shipping-method-option:last-child {

        margin-bottom: 0;
    }
.ecs-variation-select.ecs-shipping-method-option input[type="radio"].ecs-shipping-method-option__input {

        position:           absolute;
        inset:              0;
        z-index:            2;
        width:              100%;
        height:             100%;
        margin:             0;
        padding:            0;
        border:             0;
        opacity:            0;
        cursor:             pointer;
        appearance:         none;
        -webkit-appearance: none;
    }
.ecs-variation-select.ecs-shipping-method-option input[type="radio"].ecs-shipping-method-option__input:checked + .ecs-variation-select__display {

        border-color: var( --ecs-2026-or );
        box-shadow:   inset 0 0 0 0.0625rem var( --ecs-2026-or );
    }
.ecs-variation-select.ecs-shipping-method-option input[type="radio"].ecs-shipping-method-option__input:focus-visible + .ecs-variation-select__display {

        outline:        0.125rem solid var( --ecs-2026-or );
        outline-offset: 0.125rem;
    }
#ecs .woocommerce form .ecs-shipping-method-option {

    margin: 0 0 0.5rem;
    font:   inherit;
    color:  inherit;
}
#ecs .woocommerce form .ecs-shipping-method-option:last-child {

        margin-bottom: 0;
    }
form.cart .ecs-shipping-method-select {

        flex: 0 0 100%;
        max-width: 100%;
    }
#ecs form.cart:not( .variations_form ):has( .ecs-shipping-method-select ) {

        display:        flex;
        flex-direction: column;
        align-items:    stretch;
        gap:            var( --spacing-s );
    }
#ecs form.cart:not( .variations_form ):has( .ecs-shipping-method-select ) .ecs-shipping-method-select {

        width:     100%;
        max-width: 100%;
        order:     -1;
    }
#ecs form.cart:not( .variations_form ):has( .ecs-shipping-method-select ) .quantity,
    #ecs form.cart:not( .variations_form ):has( .ecs-shipping-method-select ) .single_add_to_cart_button {

        width:  100%;
        margin: 0;
    }
#ecs .ecs-price-breakdown {

        margin: var( --spacing-s ) 0 0;
    }
#ecs .ecs-price-breakdown__total {

            margin: 0 0 var( --spacing-xs );
            font: 600 var( --font-size-text-m ) / var( --font-line-height-text-m ) var( --font-family-body );
            color: var( --ecs-2026-or );
        }
#ecs .ecs-price-breakdown__total del {

                margin-right: 0.35em;
                opacity: 0.55;
                font-weight: 300;
                text-decoration: line-through;
            }
#ecs .ecs-price-breakdown__total ins {

                text-decoration: none;
            }
#ecs .ecs-price-breakdown__list {

            display: grid;
            gap: 0.25rem;
            margin: 0;
        }
#ecs .ecs-price-breakdown__row {

            display: flex;
            justify-content: space-between;
            gap: var( --spacing-s );
            margin: 0;
        }
#ecs .ecs-price-breakdown__label,
        #ecs .ecs-price-breakdown__value {

            margin: 0;
            font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
            color: var( --ecs-2026-noir );
        }
#ecs .ecs-price-breakdown__value {

            font-weight: 600;
            text-align: right;
        }
#ecs .ecs-price-breakdown__value del {

                margin-right: 0.35em;
                opacity: 0.55;
                font-weight: 300;
                text-decoration: line-through;
            }
#ecs .ecs-price-breakdown__value ins {

                text-decoration: none;
            }
#ecs .ecs-price-breakdown.is-empty {

            display: none;
        }
#ecs .ecs-product-price-breakdown {

        margin-top: var( --spacing-m );
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) table.variations {

        margin-bottom: 0;
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .single_variation_wrap {

        margin: 0;
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .woocommerce-variation-add-to-cart {

        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: var( --spacing-s );
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .woocommerce-variation-add-to-cart .ecs-shipping-method-select {

        width: 100%;
        max-width: 100%;
        margin: 0;
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .woocommerce-variation-add-to-cart .quantity {

        width: 100%;
        margin: 0;
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .woocommerce-variation-add-to-cart .single_add_to_cart_button {

        width: 100%;
    }
#ecs form.variations_form:has( .ecs-shipping-method-select ) .woocommerce-variation-price,
    #ecs form.cart:has( .ecs-shipping-method-select ) > .price {

        display: none;
    }
#ecs body.ecs-has-product-shipping.single-product .elementor-widget-woocommerce-product-price {

        display: none;
    }
#ecs .ecs-cart-price-breakdown__total {

            font-size: var( --font-size-text-s );
            line-height: var( --font-line-height-text-s );
        }
#ecs .woocommerce-cart-form .variation,
        #ecs .woocommerce-cart-form dl.variation {

            margin: 0.5rem 0 0;
            font: 300 var( --font-size-text-xs ) / var( --font-line-height-text-s ) var( --font-family-body );
            color: var( --ecs-2026-noir );
        }
#ecs .woocommerce-cart-form .variation dt, #ecs .woocommerce-cart-form dl.variation dt {

                display: inline;
                margin: 0;
                font-weight: 600;
            }
#ecs .woocommerce-cart-form .variation dd, #ecs .woocommerce-cart-form dl.variation dd {

                display: inline;
                margin: 0;
            }
#ecs .woocommerce-cart-form .variation dd::after, #ecs .woocommerce-cart-form dl.variation dd::after {

                content: '';
                display: block;
            }
#ecs .woocommerce-cart-form .shop_table {

            border: none;
        }
#ecs .woocommerce-cart-form .shop_table th {


                background:    var( --ecs-2026-linen );
                border-bottom: 0.0625rem solid var( --ecs-2026-or );
                font-size:     400;
            }
#ecs .woocommerce-cart-form .shop_table .product-price,
            #ecs .woocommerce-cart-form .shop_table .product-subtotal {
                text-align: right;
            }
#ecs .woocommerce-cart-form .shop_table .product-quantity {
                text-align: center;
                width: 4rem;
            }
#ecs .woocommerce-cart-form .shop_table .cart_item td {
                    padding: var( --spacing-m );
                }
#ecs .woocommerce-cart-form .shop_table .cart_item .product-remove {

                    padding-left:  var( --spacing-xs );
                    padding-right: var( --spacing-xs );
                    color:         var( --ecs-2026-or ) !important;
                    font-size:     .5rem;
                }
#ecs .woocommerce-cart-form .shop_table .cart_item .product-thumbnail {
                    padding-left: 0;
                    padding-right: 0;
                }
#ecs .woocommerce-cart-form .shop_table .cart_item .product-thumbnail a {
                        display: block;
                    }
#ecs .woocommerce-cart-form .shop_table .cart_item .product-thumbnail img {
                        width: 3rem;
                        height: 3rem;
                        object-fit: contain;
                        object-position: center;
                    }
#ecs .cart-collaterals .checkout-button {

    padding:        var( --spacing-s ) var( --spacing-m );
    border:         none;
    border-radius:  0;
    font:           300 var( --font-size-button ) / var(  --font-line-height-button ) var( --font-family-body );

        background: var( --ecs-2026-or    );
        color:      var( --ecs-2026-blanc );
        }
#ecs .cart-collaterals .checkout-button:hover,
        #ecs .cart-collaterals .checkout-button:focus {

            background: var( --ecs-2026-blanc );
            color:      var( --ecs-2026-or    );
        }
#ecs #customer_details .woocommerce-billing-fields__field-wrapper {

            display:        flex;
            flex-direction: row;
            flex-wrap:      wrap;
            gap:            var( --l-columns-gutter );
        }
#ecs #customer_details #billing_first_name_field,
        #ecs #customer_details #billing_last_name_field,
        #ecs #customer_details #billing_email_field,
        #ecs #customer_details #billing_phone_field {
            width: var( --l-col-50 );
        }
#ecs #customer_details #billing_postcode_field {
            width: var( --l-col-25 );
        }
#ecs #customer_details #billing_city_field {
            width: var( --l-col-50 );
        }
#ecs #order_review_heading {
        margin-top: var( --spacing-xxl );
    }
#ecs #order_review {

        margin-bottom: var( --spacing-xxl );
    }
#ecs #order_review .shop_table {

            border: none;
        }
#ecs #order_review .shop_table th {

                background:    var( --ecs-2026-linen );
                border-bottom: 0.0625rem solid var( --ecs-2026-or );
                font-size:     400;
            }
#ecs #order_review .shop_table .cart-subtotal th, #ecs #order_review .shop_table .order-total th, #ecs #order_review .shop_table .tax-total th {
                    text-align: right;
                }
#ecs #payment {

        margin-top: var( --spacing-xxl );
    }
#ecs #payment {

        background: none;
    }
#ecs #payment .ecs-payment-heading {

            margin: 0 0 var( --spacing-m );
        }
#ecs #payment .wc_payment_methods {

            display:        flex;
            flex-direction: column;
            gap:            var( --spacing-s );
            padding:        0;
            margin:         0 0 var( --spacing-l );
            list-style:     none;
        }
#ecs #payment .wc_payment_method {

            width:          100%;
            max-width:      20rem;
            margin:     0;
            padding:    0;
            list-style: none;
        }
#ecs #payment .ecs-payment-method-option {

            position: relative;
            display:  block;
            width:    100%;
            margin:   0;
        }
#ecs #payment .ecs-payment-method-option .ecs-payment-method-option__input,
            #ecs #payment .ecs-payment-method-option .ecs-payment-method-option__input.input-radio {

                position:           absolute;
                inset:              0;
                z-index:            2;
                width:              100%;
                height:             100%;
                margin:             0;
                padding:            0;
                border:             0;
                opacity:            0;
                cursor:             pointer;
                appearance:         none;
                -webkit-appearance: none;
            }
#ecs #payment .ecs-payment-method-option .ecs-payment-method-option__input:checked + .ecs-variation-select__display {

                border-color: var( --ecs-2026-or );
                box-shadow:   inset 0 0 0 0.0625rem var( --ecs-2026-or );
            }
#ecs #payment .ecs-payment-method-option .ecs-payment-method-option__input:focus-visible + .ecs-variation-select__display {

                outline:        0.125rem solid var( --ecs-2026-or );
                outline-offset: 0.125rem;
            }
#ecs #payment .ecs-payment-method-option .ecs-variation-select__display {

                display:         flex;
                align-items:     center;
                justify-content: space-between;
                gap:             var( --spacing-m );
                padding:         var( --spacing-m );
                border:          0.0625rem solid var( --ecs-2026-noir );
                background:      var( --ecs-2026-blanc );
            }
#ecs #payment .ecs-payment-method-option .ecs-variation-select__text {

                display:        flex;
                flex-direction: column;
                gap:            0.25rem;
                min-width:      0;
            }
#ecs #payment .ecs-payment-method-option .ecs-variation-select__label {

                font:  300 var( --font-size-text-xs ) / var( --font-line-height-text-xs ) var( --font-family-body );
                color: var( --ecs-2026-noir );
            }
#ecs #payment .ecs-payment-method-option .ecs-payment-method-option__icon img {

                    display:        inline-block;
                    vertical-align: middle;
                    height:         1.25rem;
                    width:          auto;
                }
#ecs #payment .payment_box {

            margin-top: 1.25rem;
            padding:    var( --spacing-m );
            background: var( --ecs-2026-linen );
            border:     0.0625rem solid var( --ecs-2026-or );
        }
#ecs #payment .payment_box::before {

                top:                 -2em;
                margin-top:          0;
                border-bottom-color: var( --ecs-2026-or );
            }
#ecs #payment .payment_box p:last-child {
                margin-bottom: 0;
            }
#ecs #payment .form-row.place-order {

            --place-order-title-alignment: flex-start;
            --purchase-button-width:       auto;
            max-width:                   40rem;
            padding:                     0;
            margin-top:                  var( --spacing-xl );
            align-items:                 flex-start !important;
        }
#ecs #payment #place_order,
        #ecs #payment .ppcp-dcc-order-button,
        #ecs #payment .ppcp-axo-order-button {

            float:     none !important;
            width:     auto !important;
            max-width: 100%;
            padding:   0.75rem 2rem !important;
        }
#ecs #payment .woocommerce-privacy-policy-text {

            margin-bottom: var( --spacing-m );
        }
#ecs #order_review .paypal-buttons {

            max-width: 15rem !important;
            width:     100% !important;
            min-width: 0 !important;
        }

#ecs .facetwp-type-radio {
        display: flex;
        flex-direction: row;
        gap: var(--spacing-m);
    }

#ecs .facetwp-radio {

        font-family: var(--font-family-body);
        font-size: var(--font-size-text-s);
        color: var(--ecs-2026-or);
        line-height: var(--font-line-height-text-m);
        padding-block-start: var(--spacing-s);
        padding-block-end: var(--spacing-s);
        padding-inline-start: var(--spacing-l);
        padding-inline-end: var(--spacing-l);
        border-radius: 4rem;
        border-width: 0.0625rem;
        border-color: var(--ecs-2026-or);
        border-style: solid;
        display: block;
        background: none transparent;
        white-space: nowrap;
    }

#ecs .facetwp-radio.checked {

            background: var(--ecs-2026-or);
            color: var(--ecs-2026-blanc);
            background-image: none;
        }