/*
Theme Name: Jade Range
Description: Jade Range Theme
Author: Wisersites
Template: flatsome
Version: 1.0.0.17
*/

/* roboto-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/roboto-v51-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 400;
    src: url('assets/fonts/roboto-v51-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/roboto-v51-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 700;
    src: url('assets/fonts/roboto-v51-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-900 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 900;
    src: url('assets/fonts/roboto-v51-latin-900.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-900italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 900;
    src: url('assets/fonts/roboto-v51-latin-900italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/roboto-condensed-v31-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 400;
    src: url('assets/fonts/roboto-condensed-v31-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-500 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 500;
    src: url('assets/fonts/roboto-condensed-v31-latin-500.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-500italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 500;
    src: url('assets/fonts/roboto-condensed-v31-latin-500italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/roboto-condensed-v31-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-condensed-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Roboto Condensed';
    font-style: italic;
    font-weight: 700;
    src: url('assets/fonts/roboto-condensed-v31-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-300 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: normal;
    font-weight: 300;
    src: url('assets/fonts/lato-v25-latin-300.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-300italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: italic;
    font-weight: 300;
    src: url('assets/fonts/lato-v25-latin-300italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-regular - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: normal;
    font-weight: 400;
    src: url('assets/fonts/lato-v25-latin-regular.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: italic;
    font-weight: 400;
    src: url('assets/fonts/lato-v25-latin-italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-700 - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: normal;
    font-weight: 700;
    src: url('assets/fonts/lato-v25-latin-700.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* lato-700italic - latin */
@font-face {
    font-display: swap;
    /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
    font-family: 'Lato';
    font-style: italic;
    font-weight: 700;
    src: url('assets/fonts/lato-v25-latin-700italic.woff2') format('woff2');
    /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

body {
    font-size: 112.5% !important;
    line-height: 1.8 !important;
}

h1,
.h1,
.banner h1 {
    font-size: 4.5rem;
}

h2,
.h2 {
    font-size: 3.5rem;
    line-height: 1.2 !important;

    span {
        font-weight: normal;
    }

    &.h2-line {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 18px;
    }

    &.h2-line::after {
        content: "";
        flex: 1;
        height: 1px;
        background-color: #333;
    }
}

.dark {

    h2,
    .h2 {
        &.h2-line:after {
            background-color: #fff;
        }
    }
}

h2+p {
    margin-top: -10px;
}

h3,
.h3 {
    font-size: 2.75rem;
    line-height: 1.2 !important;

    span {
        font-weight: normal;
    }
}

h3.eyebrow {
    color: #bf581a;
    text-transform: uppercase;
    font-size: 0.875rem;
    line-height: 1.2;
}

h3.markets {
    color: var(--Neutrals-White, #FFF);
    font-family: Roboto;
    font-size: 32px;
    font-style: normal;
    font-weight: 900;
    line-height: 120%;
    /* 38.4px */
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.56) 60%, rgba(0, 0, 0, 0.00) 100%);
    padding: 32px;
    margin: 0px;
}

h4 {
    span {
        font-weight: normal;
    }

    &.h4-line {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 10px;
    }

    &.h4-line::after {
        content: "";
        flex: 1;
        height: 1px;
        background-color: #333;
    }
}

/* Mobile Responsiveness */
@media (max-width: 768px) {

    h1,
    .h1,
    .banner h1 {
        font-size: 3rem;
    }

    h2,
    .h2 {
        font-size: 2rem;
    }

    h3,
    .h3 {
        font-size: 1.75rem;
    }

    /* h4 { */
    /* } */
}

.dark {

    h4,
    .h4 {
        &.h4-line:after {
            background-color: #fff;
        }
    }
}

body a {
    text-decoration: underline;

    &:hover {
        text-decoration: none;
    }
}

body header a,
body footer a {
    text-decoration: none;
}

header#header {
    #top-bar {
        li {
            margin: 0 1em;
        }

        a {
            color: #fff;
            font-size: 14px;

            &:after {
                opacity: 0;
            }

            &:hover {
                text-decoration: underline;
            }
        }

        li.active>a {
            border-bottom: 1px solid #e51a20;
        }
    }

    #masthead {
        .header-nav.nav.nav-left {
            justify-content: center;

            li {
                margin: 0 16px !important;

                ul li {
                    margin: 0px !important;
                }
            }

            >li.active {
                >a {
                    border-bottom: 1px solid #e51a20;
                }
            }

            a {
                font-size: 18px;
                font-weight: 500;
                color: #333;
                border-radius: 0px;

                i {
                    width: 12px;
                    height: 7px;
                    background-image: url('assets/img/nav-arrow-hover.svg');
                    background-size: 100%;
                    background-repeat: no-repeat;
                    opacity: 1 !important;
                    margin: 2px .4em 0 .4em;

                    &:before {
                        opacity: 0;
                    }
                }
            }

            .sub-menu.nav-dropdown {
                padding: 0px;
                border-top: 1px solid #e51a20;

                li {
                    a {
                        margin: 0px;
                        padding: 24px;
                        line-height: 1.2225 !important;
                        text-transform: none;
                    }

                    &.menu-item-has-children {
                        > a {
                            background-image: url('assets/img/nav-right-arrow-black.svg');
                            background-position: 90% 50%;
                            background-repeat: no-repeat;
                        }
                        &:hover > a {
                            background-image: url('assets/img/nav-right-arrow.svg');
                        }
                    }
                }
            }

            .sub-menu .menu-item:hover > a:has(+ .sub-menu) {
                background-color: #e51a20;
                color: #fff;
                background-image: url('assets/img/nav-right-arrow.svg');
            }

            li.nav-dropdown-col {
                display: block;
                width: 100%;
            }
        }

        .header-button .button {
            background-color: #e51a20;
            padding: 4px 48px;
        }
    }

    /* these styles apply when the nav is in the default transparent state */
    &.transparent {
        #top-bar {
            a {
                color: #a5a5a5;
            }
        }

        #masthead {
            .header-nav.nav.nav-left {
                >li>a {
                    color: #fff;

                    i {
                        background-image: url('assets/img/nav-arrow.svg');
                    }
                }
            }

            .header-button .button {
                background-color: rgba(255, 255, 255, .15);
                border-color: transparent;
                backdrop-filter: blur(4px);
            }
        }

        .header-bg-image.fill {
            background-image: linear-gradient(180deg, #000000, #00000000) !important;
        }
    }

    /* 1. Set the 2nd-level list item ("Ranges") as the anchor point */
    ul.header-nav ul.nav-dropdown>li.menu-item-has-children {
        position: relative !important;
    }

    /* 2. Hide the 3rd-level menu ("Titan", "Bistro") and position it to the right */
    ul.header-nav ul.nav-dropdown>li.menu-item-has-children>ul.sub-menu {
        display: none !important;
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        min-width: 220px;
        /* Adjust this width as needed */
        background-color: #fff;
        /* Ensures the flyout has a solid background */
        box-shadow: 2px 3px 8px rgba(0, 0, 0, 0.1);
        border-left: 1px solid #e51a20;
        z-index: 999;
        padding: 0;
        /* Adds slight spacing inside the flyout box */
    }

    /* 3. Show the 3rd-level flyout ONLY when hovering over the 2nd-level parent */
    ul.header-nav ul.nav-dropdown>li.menu-item-has-children:hover>ul.sub-menu {
        display: block !important;
    }

    /* 4. Fix Flatsome's default column styling so the flyout items stack neatly */
    ul.header-nav ul.nav-dropdown>li.menu-item-has-children>ul.sub-menu>li {
        display: block !important;
        width: 100% !important;
    }
}

.nav-dropdown-has-arrow li.has-dropdown:after {
    border-color: hsla(0, 0%, 87%, 0) hsla(0, 0%, 87%, 0) #e51a20;
    border-width: 8px;
    margin-left: -8px;
    bottom: -1px;
}


/* Base styles and resetting bullets */
ul.jade-list,
ul.jade-list ul {
    list-style: none;
    padding-left: 0;
}

ul.jade-list ul {
    padding-left: 0;
    margin: 0;

    li {
        margin-left: 0;
    }
}

ul.jade-list li {
    position: relative;
    padding-left: 1.2rem;
    /* Space between icon and text */
    margin-bottom: 0;
}

/* Pseudo-element base for icons */
ul.jade-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45rem;
    /* Vertical alignment */
    width: 16px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Level 1 Icon */
ul.jade-list>li::before {
    background-image: url('assets/img/li-1.svg');
}

/* Level 2 Icon */
ul.jade-list>li>ul>li::before {
    background-image: url('assets/img/li-2.svg');
}

/* Level 3 Icon */
ul.jade-list>li>ul>li>ul>li::before {
    background-image: url('assets/img/li-3.svg');
}

/* Container & reset logic */
ol.list-counter,
ol.list-counter ol {
    list-style: none;
    padding-left: 0;
}

ol.list-counter ol {
    padding-left: 0;
    margin: 0 0 0 16px;

    li {
        margin-left: 0;
    }
}

/* Level 1 */
ol.list-counter {
    counter-reset: l1;

    li {
        margin-bottom: 0;
    }
}

ol.list-counter>li {
    counter-increment: l1;
}

ol.list-counter>li::before {
    content: counter(l1) ") ";
    color: #E21C17;
    font-size: 16px;
    font-weight: 700;
}

/* Level 2 */
ol.list-counter>li>ol {
    counter-reset: l2;
}

ol.list-counter>li>ol>li {
    counter-increment: l2;
}

ol.list-counter>li>ol>li::before {
    content: counter(l1) counter(l2, lower-alpha) ") ";
    color: #93070B;
    font-size: 16px;
    font-weight: 700;
}

/* Level 3 */
ol.list-counter>li>ol>li>ol {
    counter-reset: l3;
}

ol.list-counter>li>ol>li>ol>li {
    counter-increment: l3;
}

ol.list-counter>li>ol>li>ol>li::before {
    content: counter(l1) counter(l2, lower-alpha) "." counter(l3) ") ";
    color: #400000;
    font-size: 16px;
    font-weight: 700;
}

body .banner.banner-hero h1 {
    color: var(--Neutrals-White, #FFF);
    font-family: Roboto;
    font-size: 72px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    /* 100.8px */
    letter-spacing: -0.72px;
}

body .banner.banner-hero p {
    font-size: 24px;
    font-family: Roboto Condensed;
    font-weight: 700;
    max-width: 900px;
    line-height: 140%;
}

body .banner.banner-hero .button {
    margin-right: 1rem !important;
    margin-bottom: 1rem !important;
}

body .banner p {
    font-size: 18px;
    font-family: Roboto Condensed;
    max-width: 900px;
}

body .banner.p-lato p {
    font-size: 18px;
    font-family: Lato;
    max-width: 900px;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    body .banner.banner-hero h1 {
        font-size: 48px;
    }

    body .banner.banner-hero p {
        font-size: 20px;
    }

    body .banner p {
        font-size: 18px;
    }

    /* body .banner.banner-hero .button + .button { */
        /* margin-left: 0px !important; */
        /* margin-bottom: 1rem !important; */
    /* } */

    body .banner.p-lato p {
        font-size: 18px;
    }
}

.button.primary.is-underline {
    color: #333;

    &:before {
        height: 1px;
        width: 98%;
        left: 1%;
        opacity: 1;
    }

    &:hover {
        opacity: 0.75;
    }

    &:has(> i.icon-angle-right) {
        font-size: 18px;
        font-weight: 400;
        color: #333;
        display: inline-flex;
        align-items: center;
        text-align: left;

        i {
            width: 18px;
            height: 10px;
            background-color: #333;
            -webkit-mask-image: url('assets/img/tab-arrow.svg');
            mask-image: url('assets/img/tab-arrow.svg');
            mask-size: 18px 10px;
            mask-position: 100% 50%;
            background-repeat: no-repeat;
            mask-repeat: no-repeat;
            opacity: 1 !important;
            margin: 2px 0 0 .4em;

            &:before {
                opacity: 0;
            }
        }
    }

    &:has(> i.icon-expand) {
        font-size: 18px;
        font-weight: 400;
        color: #333;
        display: flex;
        align-items: center;
        text-align: left;

        i {
            width: 18px;
            height: 14px;
            background-color: #333;
            -webkit-mask-image: url('assets/img/offsite-link.svg');
            mask-image: url('assets/img/offsite-link.svg');
            mask-size: 18px 14px;
            mask-position: 100% 50%;
            background-repeat: no-repeat;
            mask-repeat: no-repeat;
            opacity: 1 !important;
            margin: 0px 0 0 .4em;

            &:before {
                opacity: 0;
            }
        }
    }
}

body .button {
    margin: 0 !important;

    span {
        font-size: 16px;
    }
}

body .button.primary:not(.is-underline) {
    min-width: 175px;
    min-height: 46px;
    padding: 4px 20px;
    /* margin: 0px !important; */
    justify-content: center;
    align-items: center;
    display: inline-flex;
    background-color: var(--jade-red-base-500, #E21C17);
    border: 2px solid #E21C17;
}

body .button.primary:hover {
    background-color: var(--jade-red-darken-700, #93070B);
    border-color: var(--jade-red-darken-700, #93070B);
}

body .button.white.is-outline {
    min-width: 175px;
    min-height: 46px;
    padding: 4px 20px;
}

body .button.orange.is-outline {
    border: 2px solid #BC5812;
    color: #BC5812;
    background: var(--Neutrals-White, #FFF);

    &:hover {
        background-color: #BC5812;
        color: white;
    }
}

.h-100 {
    height: 100%;
}

.img-cover img {
    object-fit: cover;
}

.banner.testimonial-slide {
    .banner-bg.fill img {
        width: 90px;
        height: 64px;
        -o-object-fit: none;
        object-fit: none;
        -o-object-position: 50% 50%;
        object-position: 50% 50%;
        position: absolute;
        left: calc(100% - 90px - 36px);
        top: 20px;
    }

    /* p { */
    /*margin-top: 0px;*/
    /* } */

    * {
        font-family: Lato;
    }

    .col-inner p {
        font-size: 20px;
        font-weight: 300;
        line-height: 1.4;

        strong {
            font-weight: 800;
        }
    }

    .testimonial-photo {
        img {
            border-radius: 100px;
            border: 2px solid #a5a5a5;
        }
    }
}

.about-stats.dark .row-dashed .col:after,
.about-stats.dark .row-dashed .col:before,
.about-stats.dark .row-solid .col:after,
.about-stats.dark .row-solid .col:before {
    border-color: #333;
}

.about-stats h2 {
    margin-bottom: 14px;
}

.about-complaints,
.about-feature {
    .col-inner {
        p:last-child {
            margin-bottom: 0;
        }
    }
}



/* start product accordion and product archive grid */
/* Container & Layout */
.v-accordion-wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    box-sizing: border-box;
}

.v-accordion-container {
    display: flex;
    flex-direction: row;
    gap: 0;
    height: 520px;
    width: 100%;
}

/* Vertical Accordion Card as Native Link */
.v-card {
    position: relative;
    flex: 1;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
    display: block;
    transition: flex 0.5s cubic-bezier(0.25, 1, 0.5, 1);
}

/* Expansion on Hover */
.v-card:hover,
.v-card.active {
    flex: 3.5;
}

/* Background Image: Centered & Enhanced Zoom Effect */
.v-card-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    z-index: 1;
}

.v-card:hover .v-card-bg,
.v-card.active .v-card-bg {
    transform: scale(1.25);
}

/* Overlay Gradients */
.v-card-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
            rgba(0, 0, 0, 0.15) 0%,
            rgba(0, 0, 0, 0.45) 50%,
            rgba(0, 0, 0, 0.85) 100%);
    z-index: 2;
    transition: opacity 0.3s ease;
}

/* Vertical Label (Rotated 180 deg - Top to Bottom reading) */
.v-card-vertical-label {
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translateY(50%) translateX(-50%) rotate(180deg);
    z-index: 3;
    white-space: nowrap;
    writing-mode: vertical-rl;
    transform-origin: center;
    color: #FFF;
    font-family: "Roboto Condensed", system-ui, sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    /* Fast fade-in delay when mouse leaves */
    transition: opacity 0.2s ease 0.15s;
    pointer-events: none;
}

/* Fade out vertical label immediately on hover */
.v-card:hover .v-card-vertical-label,
.v-card.active .v-card-vertical-label {
    opacity: 0;
    transition: opacity 0.1s ease 0s;
}

/* Expanded Content Layout */
.v-card-content {
    position: absolute;
    inset: 0;
    padding: 32px 24px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    z-index: 4;
    color: #ffffff;
    box-sizing: border-box;
    opacity: 0;
    /* Immediate fade-out when mouse leaves so text disappears BEFORE width shrinks */
    transition: opacity 0.12s ease 0s;
    pointer-events: none;
    overflow: hidden;
}

/* Smooth delayed fade-in when entering hover */
.v-card:hover .v-card-content,
.v-card.active .v-card-content {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s;
    pointer-events: auto;
}

/* Fixed layout prevents word wrapping/shifting during flex resize */
.v-card-inner-content {
    /*width: 400px;*/
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: hidden;
}

.v-card-title {
    font-size: 1.65rem;
    font-weight: 700;
    margin: 8px 0 0 0;
    white-space: nowrap;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    color: #FFF;
    font-family: "Roboto Condensed";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 28.8px */
    text-transform: uppercase;
}

.v-card-description {
    font-size: 0.95rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.9);
    margin: 12px 0 16px 0;
    /* Prevents description from re-wrapping lines on exit */
    /*white-space: nowrap;*/
    /*text-overflow: ellipsis;*/
    /*overflow: hidden;*/
    width: 100%;
    color: var(--Neutrals-White, #FFF);
    font-family: Lato;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    /* 32.4px */
}

/* Visual CTA Button */
.v-card-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    background: #e51a20;
    color: #fff;
    padding: 10px 18px;
    border-radius: 0px;
    font-size: 0.875rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.2s ease;
}

.v-card:hover .v-card-button {
    background: #e51a20;
}

.v-card:hover .v-card-button:hover {
    opacity: 0.75;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .v-accordion-container {
        flex-direction: column;
        height: auto;
    }

    .v-card {
        height: 120px;
        flex: none;
    }

    .v-card:hover,
    .v-card.active {
        height: 320px;
        flex: none;
    }

    .v-card-vertical-label {
        writing-mode: horizontal-tb;
        left: 24px;
        bottom: 24px;
        transform: none;
    }

    .v-card:hover .v-card-vertical-label,
    .v-card.active .v-card-vertical-label {
        opacity: 0;
    }

    .v-card-inner-content {
        width: 100%;
    }

    .v-card-description {
        white-space: normal;
    }
}

/* The Grid Container */
.category-grid-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    /* 4 items across */
    gap: 30px;
    /* Spacing between the grid items */
    width: 100%;
}

/* Individual Grid Item */
.category-grid-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* Aligns the button to the left. Use 'center' if you want it centered */
}

/* Lock the wrapper to a maximum of 336x220 */
.category-grid-thumb {
    display: block;
    width: 100%;
    max-width: 336px;
    /* Restricts the width so it doesn't exceed 336px */
    height: 220px;
    /* Forces the box to be exactly 220px tall */
    overflow: hidden;
}

/* Force the image to fill that exact box and crop the excess */
.category-grid-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.category-grid-thumb:hover img {
    filter: brightness(70%);
}

/* Space out the button from the image */
.category-grid-button {
    margin-top: 15px;
    width: 100%;
}

.category-grid-button .button {
    width: 100%;
    justify-content: space-between;
}

/* --- Responsive Adjustments --- */

/* Tablets/Laptops: 2 items across */
@media (max-width: 991px) {
    .category-grid-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile Devices: 1 item across */
@media (max-width: 575px) {
    .category-grid-container {
        grid-template-columns: 1fr;
    }
}


.product-catalog-container {
    display: flex;
    gap: 30px;
    margin: 30px 0;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.catalog-sidebar {
    flex: 0 0 280px;
}

.catalog-search-box input {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #a5a5a5;
    margin-bottom: 20px;
    box-sizing: border-box;
}

.catalog-filter-container {
    border: 1px solid #a5a5a5;
    padding: 16px;
    box-sizing: border-box;
}

.catalog-filter-title {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 12px;
    padding-bottom: 6px;
    color: var(--Neutrals-Dark-Gray, #333);
    line-height: 120%;
}

.catalog-filter-subtitle {
    font-weight: 700;
    font-size: 12px;
    margin: 12px 0 6px 0;
    text-transform: uppercase;
    color: #555;
    border-top: 1px solid #e5e5e5;
    padding-top: 8px;
}

.catalog-filter-group-sidebar:first-of-type .catalog-filter-subtitle {
    border-top: none;
    padding-top: 0;
}

.catalog-terms-tree {
    /* max-height: 500px; */
    /* overflow-y: auto; */
    margin-bottom: 20px;
}

.term-checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 14px;
    cursor: pointer;
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: Lato, sans-serif;
    font-weight: 500;
}

.term-checkbox-item.is-context {
    font-weight: bold;
    cursor: not-allowed;
}

.cat-filter-checkbox,
.model-filter-checkbox {
    accent-color: #e51a20;
    width: 16px;
    height: 16px;
    cursor: pointer;
    margin-bottom: 0;
}

.term-children {
    margin-left: 4px;
    border-left: 1px solid #a5a5a5;
    padding-left: 24px;
}

.context-filter-wrapper {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px dashed #ccc;
}

.active-filters-section {
    margin-top: 15px;
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: Lato, sans-serif;
    font-size: 16px;
}

.active-pills-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.filter-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background-color: #fff;
    color: #333;
    padding: 6px 8px;
    line-height: 12px;
    border: 1px solid #333333;
    font-size: 10px;
}

.filter-pill.context-pill {
    background-color: #555;
    color: #fff;
}

.filter-pill-remove {
    cursor: pointer;
    font-weight: bold;
    line-height: 1;
    opacity: 0.8;
}

.filter-pill-remove:hover {
    opacity: 1;
}

.catalog-main-content {
    flex: 1;
    min-width: 0;
    width: 100%;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 20px;
    transition: opacity 0.15s ease-in-out;
}

.product-card {
    position: relative;
    cursor: pointer;
    background: #f3f3f3;
    border: 1px solid #f3f3f3;
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.product-card:hover {
    border: 1px solid #ffbbaa;
    box-shadow: 0 16px 16px -16px rgba(0, 0, 0, 0.50);
}

.product-card-image {
    margin-bottom: 24px;
}

.product-card-title {
    font-family: "Roboto Condensed", sans-serif;
    font-size: 24px;
    font-weight: 700;
    line-height: 120%;
    margin: 0 0 15px 0;
    color: var(--Neutrals-Dark-Gray, #333);
}

.product-card-description {
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: Lato, sans-serif;
    font-size: 18px;
    line-height: 180%;
    border-bottom: 1px solid #a5a5a5;
    margin-bottom: 24px;
    padding-bottom: 24px;
    flex-grow: 1;
}

.product-card-btn,
.product-card > .button {
    display: inline-block;
    margin-right: 0px;
    line-height: 1.2;
    padding: 12px 24px !important;
    min-height: 0px !important;
    position: static;
}

.product-card > a.button::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.product-card:hover > a.button {
    background-color: var(--jade-red-darken-700, #93070B);
    border-color: var(--jade-red-darken-700, #93070B);
    color: #fff;
}

@media (max-width: 768px) {
    .product-catalog-container {
        flex-direction: column;
    }

    .catalog-sidebar {
        flex: 0 0 100%;
        width: 100%;
    }
}

/* end product accordion and product archive grid */



.tabbed-content.jade-tabbed-content {
    border: 1px solid #A5A5A5;

    .nav {
        .tab {
            a {
                position: relative;
                padding: 24px;
                color: #333;
                font-family: "Roboto Condensed";
                font-size: 18px;
                font-style: normal;
                font-weight: 700;
                line-height: normal;
                text-decoration: none;

                &:after {
                    content: '';
                    position: absolute;
                    width: 21px;
                    height: 18px;
                    top: calc(50% - 6px);
                    right: 32px;
                    background-color: #a5a5a5;
                    -webkit-mask-image: url('assets/img/tab-arrow.svg');
                    mask-image: url('assets/img/tab-arrow.svg');
                    background-repeat: no-repeat;
                    mask-repeat: no-repeat;
                }

                &:hover {
                    background-color: #f3f3f3;

                    &:before {
                        content: none;
                    }

                    &:after {
                        background-color: #333;
                    }
                }
            }

            &.active {
                a {
                    background-color: #950511;
                    color: #fff;

                    &:hover {
                        background-color: #950511;

                        &:after {
                            background-color: #fff;
                        }
                    }

                    &:before {
                        content: none;
                    }

                    &:after {
                        right: 24px;
                        background-color: #fff;
                    }
                }
            }

            &:hover {
                a:before {
                    content: none;
                }
            }
        }

        li.custom-tab-separator {
            list-style: none;
            padding: 24px 0 24px 24px;
            pointer-events: none;
            border: none !important;
            background: transparent !important;
        }

        li.custom-tab-separator h4 {
            margin-bottom: 0;
            color: var(--Neutrals-White, #FFF);
            font-family: Roboto;
            font-size: 32px;
            font-style: normal;
            font-weight: 900;
            line-height: 120%;
            /* 38.4px */
        }
    }

    .tab-panels {
        padding: 32px;

        a {
            text-decoration: none;
        }
    }

    .panel {
        .row {
            .col {
                .col-inner {
                    padding: 32px;

                    h4 {
                        color: #333;
                        font-family: Roboto;
                        font-size: 24px;
                        font-style: normal;
                        font-weight: 700;
                        line-height: 120%;
                        /* 28.8px */
                        margin-bottom: 0px;
                    }

                    h5 {
                        color: #BC5812;
                        font-family: "Roboto Condensed";
                        font-size: 16px;
                        font-style: normal;
                        font-weight: 500;
                        line-height: 120%;
                        /* 19.2px */
                        margin-bottom: 6px;
                    }

                    p {
                        margin-bottom: 4px;
                        line-height: 1.2;
                    }

                    a.contact-phone,
                    a.contact-email {
                        color: #333;
                        leading-trim: both;
                        text-edge: cap;
                        font-family: Roboto;
                        font-size: 16px;
                        font-style: normal;
                        font-weight: 300;
                        padding-left: 28px;
                        background-repeat: no-repeat;
                        background-position: 0 50%;

                        &:hover {
                            color: #000;
                            text-decoration: underline;
                        }
                    }

                    a.contact-phone {
                        background-image: url('assets/img/contact-phone.svg');
                    }

                    a.contact-email {
                        background-image: url('assets/img/contact-email.svg');
                    }
                }

                border: 1px solid #a5a5a5;
                border-top: 0;

                &:first-child {
                    border-left: 0;
                    border-right: 0;
                }

                &:last-child {
                    border-right: 0;
                }
            }

            &:last-child {
                .col {
                    border-bottom: 0;
                }
            }
        }
    }

    &.dark-tabbed-content {
        border: 1px solid #4c4c4c;
        background-color: #101010;
        color: #fff;

        .nav {
            .tab {
                border-color: #212121;

                a {
                    color: #a5a5a5;

                    &:after {
                        width: 8px;
                        height: 14px;
                        top: calc(50% - 6px);
                        right: 32px;
                        background-color: #a5a5a5;
                        -webkit-mask-image: url('assets/img/tab-arrow2.svg');
                        mask-image: url('assets/img/tab-arrow2.svg');
                    }

                    &:hover {
                        color: #fff;
                        background-color: #101010;

                        &:after {
                            background-color: #fff;
                        }
                    }
                }

                &.active {
                    a {
                        background-color: #410001;
                        color: #fff;

                        &:hover {
                            background-color: #410001;

                            &:after {
                                background-color: #fff;
                            }
                        }

                        &:after {
                            right: 24px;
                            background-color: #fff;
                        }
                    }
                }
            }
        }

        .tab-panels {
            border-left-color: #101010;
        }

        .panel {
            color: #fff;

            h3 {
                color: #fff;
            }

            .row {
                .col {
                    padding: 0;

                    .col-inner {
                        h4 {
                            color: #fff;
                        }

                        h5 {
                            color: #BC5812;
                        }
                    }

                    border: none !important;
                    border-top: 0;
                }
            }
        }
    }
}

@media (min-width: 850px) {
    .tabbed-content .nav-vertical {
        width: 35%;
    }
}

h4.alt {
    color: #333;
    font-family: Roboto;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 28.8px */
    margin-bottom: 0px;
}

h5.alt {
    color: #BC5812;
    font-family: "Roboto Condensed";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 19.2px */
    margin-bottom: 6px;
}

.contact-hero-buttons {
    .icon-box {
        width: auto;
    }

    .icon-box:nth-child(1) {
        border-right: 1px solid #fff;
        padding-right: 2rem;
    }

    p {
        margin: 0;
        font-family: "Roboto Condensed";
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 110%;
        /* 21.6px */

        a {
            color: var(--Neutrals-White, #FFF);
            font-family: "Roboto Condensed";
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 120%;
            /* 21.6px */
            text-decoration: none;

            &:hover {
                text-decoration: underline;
            }
        }
    }

    svg {
        path {
            fill: #E21C17;
        }
    }
}

.markets-we-serve {
    .banner:hover img {
        transform: scale(1.075);
    }
    .banner-layers > div {
        z-index: 1;
    }
    .banner-layers > a.fill {
        z-index: 2;
    }
}

.feature-pills ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
}

.feature-pills li {
    margin: 0px !important;
    background-color: #ffeae0;
    padding: 12px 24px 12px 48px;
    border-radius: 99px;
    border: 1px solid #ffeae0;
    white-space: nowrap;
    background-image: url('assets/img/circle-checkmark.png');
    background-size: 18px 18px;
    background-position: 20px 50%;
    background-repeat: no-repeat;

    color: var(--jade-red-darkest-900, #400000);
    font-family: Lato;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    /* 32.4px */

    @media (max-width: 849px) {
        white-space: wrap;
        line-height: 120%;
    }
}


.series-banners .col-inner {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.banner-series {
    background-color: #333;
    height: 50%;

    .text-box {
        display: flex;
        padding: 12px 32px;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8px;
        border: 1px solid var(--jade-orange-darken-700, #6E2E00);
        background: rgba(45, 14, 0, 0.60);
        backdrop-filter: blur(4px);

        &.banner-series-bistro {
            border: 1px solid var(--jade-red-darken-700, #93070B);
            background: rgba(64, 0, 0, 0.60);
            backdrop-filter: blur(4px);
        }

        .text-inner>p {
            color: var(--Neutrals-White, #FFF);
            font-family: "Roboto Condensed";
            font-size: 40px;
            font-style: normal;
            font-weight: 900;
            line-height: 120%;
            /* 48px */
            margin: 0px;

            span {
                font-weight: 400;
            }
        }
    }
}

.differences-table {
    width: 100%;
    display: flex;
    width: 100%;
    min-width: 700px;
    overflow-x: scroll;
    flex-direction: column;
}

.differences-table .diff-row {
    display: flex;
}

.differences-table .diff-row>div {
    padding: 16px 40px;
}

.differences-table .spec {
    width: 100%;
    min-width: 244px;
    color: var(--Neutrals-Light-Gray, #F3F3F3);
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    /* 32.4px */
    border-right: 1px solid #101010;
    border-bottom: 1px solid #101010;
    background: var(--Neutrals-Dark-Gray, #333);
}

.differences-table .spec-titan {
    width: 365px;
    min-width: 365px;
    background-color: #fff2eb;
    border-bottom: 1px solid #ffc8ad;
}

.differences-table .spec-bistro {
    width: 365px;
    min-width: 365px;
    background-color: #ffeae0;
    border-bottom: 1px solid #ffb19e;
}

.differences-table .spec-titan,
.differences-table .spec-bistro {
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: Lato;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    /* 32.4px */
}

.differences-table .diff-titles {
    >div {
        color: var(--Neutrals-White, #FFF);
        font-family: "Roboto Condensed";
        font-size: 24px;
        font-style: normal;
        font-weight: 900;
        line-height: 120%;
        /* 28.8px */

        span {
            font-weight: 400;
        }
    }

    .spec {
        background: var(--Neutrals-Darkest-Gray, #101010);
    }

    .spec-titan {
        color: #fff;
        background: var(--jade-orange-base-500, #BC5812);
    }

    .spec-bistro {
        color: #fff;
        background: var(--jade-red-darken-700, #93070B);
    }
}

/* start showcases */
body p.showcase-location {
    /* color: var(--Neutrals-White, #FFF); */
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    /* 21.6px */
    background-image: url(assets/img/location-pin-black.png);
    background-repeat: no-repeat;
    background-size: 18px 24px;
    background-position: 0 50%;
    padding-left: 32px;
    margin-top: -18px;
}

.showcase-gallery-container {
    width: 100%;
    margin-bottom: 20px;
}

/* Big Main Image */
/* Big Main Image Container */
.showcase-main-wrapper {
    position: relative;
    width: 100%;
    max-height: 650px;
    height: 650px;
    /* Set fixed height container so layout doesn't shift when switching images */
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    /* Neutral background color for letterboxing extra space */
    overflow: hidden;
    margin-bottom: 32px;
}

.showcase-main-wrapper img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    display: block;
}

/* Carousel Navigation Buttons */
.showcase-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.4);
    color: #fff;
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    /* Hidden until hover over image */
    transition: opacity 0.2s ease, background 0.2s ease;
    z-index: 10;
    padding: 0;
}

.showcase-main-wrapper:hover .showcase-nav-btn {
    opacity: 0.8;
    /* Show buttons when hovering over the main image area */
}

.showcase-nav-btn:hover {
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.9);
}

.showcase-nav-btn.prev-btn {
    left: 20px;
}

.showcase-nav-btn.next-btn {
    right: 20px;
}

/* Thumbnail Grid */
.showcase-thumbnails-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
}

.showcase-thumb-item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 1 / 1;
}

.showcase-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Overlay & Eyeball Icon */
.showcase-thumb-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.eyeball-icon {
    color: #ffffff;
    opacity: 0;
    transition: opacity 0.2s ease;
    position: absolute;
}

.view-icon {
    color: #ffffff;
    opacity: 0;
    transition: opacity 0.2s ease;
    position: absolute;
}

.showcase-buttons {
    gap: 24px;
}

a.button.download-project-drawings {
    background-image: url(assets/img/pdf.png);
    background-repeat: no-repeat;
    background-size: 19px 20px;
    background-position: 16px 50%;
    padding-left: 52px !important;
}

a.button.download-project-drawings span {
    background-image: url(assets/img/download.png);
    background-repeat: no-repeat;
    background-size: 16px 17px;
    background-position: 100% 50%;
    padding-right: 32px;
}

/* Active State: Lighter black opacity layer */
.showcase-thumb-item.active .showcase-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.35);
}

.showcase-thumb-item.active .eyeball-icon {
    opacity: 1;
}

.showcase-thumb-item.active:hover .eyeball-icon {
    opacity: 0;
}

/* Hover State: Darker black opacity layer + eyeball icon */
.showcase-thumb-item:hover .showcase-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.75);
    border: 4px solid #950511;
}

.showcase-thumb-item:hover .view-icon {
    opacity: 1;
}


/* .showcase-tab-nav { */
/*display: flex;*/
/*gap: 12px;*/
/*list-style: none;*/
/*padding: 0;*/
/*margin: 0 0 30px 0;*/
/*border-bottom: 2px solid #eee;*/
/* } */

/* .showcase-tab-item { */
/*padding: 10px 20px;*/
/*cursor: pointer;*/
/*font-weight: 600;*/
/*border-bottom: 3px solid transparent;*/
/*transition: all 0.2s ease;*/
/* } */

/* .showcase-tab-item.active { */
/*border-bottom-color: #000;*/
/*color: #000;*/
/* } */

.showcase-tab-pane {
    display: none;
    margin-bottom: -16px;
}

.showcase-tab-pane.active {
    display: block;
}

.showcase-grid-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.showcase-card {
    position: relative;
    overflow: hidden;
    border-radius: 0px;
    min-height: 200px;
    cursor: pointer;
}

.showcase-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Grid Overlay & Eyeball Icon */
.showcase-card-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.showcase-card.active .showcase-card-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
}

.showcase-card.active .eyeball-icon {
    opacity: 1;
}

.showcase-card.active:hover .eyeball-icon {
    opacity: 0;
}

.showcase-card:hover .showcase-card-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.65);
    border: 4px solid #950511;
}

.showcase-card:hover .view-icon {
    opacity: 1;
}

.showcase-card .showcase-thumb-info {
    color: white;
    padding-top: 220px;
    text-align: center;
    text-shadow: 2px 2px 4px black;
}

/* Expanded Row Drawer */
/*.showcase-row-drawer {*/
/*width: 100%;*/
/*margin-bottom: 24px;*/
/*background: #ffffff;*/
/*border: 1px solid #950511;*/
/*border-width: 4px 0px;*/
/*border-radius: 0px;*/
/*padding: 24px 0px;*/
/*box-sizing: border-box;*/
/*}*/

/* Expanded Row Drawer Animation Wrapper */
.showcase-row-drawer-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    margin-bottom: 0;
    transition: grid-template-rows 0.3s ease-out, opacity 0.3s ease-out, margin-bottom 0.3s ease-out;
}

.showcase-row-drawer-wrapper.is-open {
    grid-template-rows: 1fr;
    opacity: 1;
    margin-bottom: 24px;
}

.showcase-row-drawer-inner {
    min-height: 0;
    overflow: hidden;
}

/* The actual drawer container */
.showcase-row-drawer {
    width: 100%;
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    padding: 24px;
    box-sizing: border-box;
    margin-top: 10px;
    /* Small gap between the active card and the drawer */
}

.showcase-drawer-content {
    display: flex;
    justify-content: space-between;
    /*gap: 30px;*/
}

/* Left 65% Gallery Container */
.showcase-drawer-left {
    flex: 0 0 64%;
    max-width: 64%;
    display: flex;
    gap: 16px;
}

.showcase-vert-thumbs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 90px;
    max-height: 480px;
    overflow-y: auto;
    flex-shrink: 0;
    scroll-behavior: smooth;
}

.drawer-thumb-item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    border-radius: 0px;
    aspect-ratio: 1 / 1;
}

.drawer-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.drawer-thumb-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.drawer-thumb-item.active .drawer-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
}

.drawer-thumb-item.active .eyeball-icon {
    opacity: 1;
}

.drawer-thumb-item.active:hover .eyeball-icon {
    opacity: 0;
}

.drawer-thumb-item:hover .drawer-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.65);
    border: 4px solid #950511;
}

.drawer-thumb-item:hover .view-icon {
    opacity: 1;
}

.showcase-drawer-main-img {
    flex: 1;
    height: 480px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
    border-radius: 0px;
    position: relative;
}

.showcase-drawer-main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Drawer Carousel Buttons */
.drawer-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background: rgba(0, 0, 0, 0.5);
    /* Semi-transparent black */
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s ease, background 0.2s ease;
    z-index: 10;
    padding: 0;
}

.showcase-drawer-main-img:hover .drawer-nav-btn {
    opacity: 1;
}

.drawer-nav-btn:hover {
    background: rgba(0, 0, 0, 0.85);
}

.drawer-nav-btn.prev-btn {
    left: 15px;
}

.drawer-nav-btn.next-btn {
    right: 15px;
}

/* Right 35% Details Container */
.showcase-drawer-right {
    flex: 0 0 34%;
    max-width: 34%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-color: #f3f3f3;
    padding: 32px;
}

.showcase-drawer-title {
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: "Roboto Condensed";
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 38.4px */
}

.showcase-drawer-desc {
    margin-bottom: 16px;
    color: #444;
}

.showcase-drawer-links {
    margin-bottom: 20px;
}

.showcase-drawer-links .jade-list li {
    margin-left: 0px;
}

.showcase-drawer-actions {
    display: flex;
    gap: 12px;
    margin-top: auto;
    justify-content: space-between;
    border-top: 1px solid #a5a5a5;
    padding-top: 24px;
}

.showcase-drawer-actions .drawer-close-btn {
    background-image: url(assets/img/x.png);
    background-repeat: no-repeat;
    background-size: 14px 14px;
    background-position: 100% 50%;
    padding-right: 24px;

    &:hover {
        background-image: url(assets/img/x.png);
        background-repeat: no-repeat;
        background-size: 14px 14px;
        background-position: 100% 50%;
        padding-right: 24px;
    }
}

.showcase-btn {
    display: inline-block;
    padding: 10px 18px;
    border-radius: 0px;
    font-weight: 600;
    cursor: pointer;
    text-align: center;
    border: none;
    text-decoration: none;
}

.showcase-btn-primary {
    background-color: #000000;
    color: #ffffff !important;
}

.showcase-btn-secondary {
    background-color: #e5e5e5;
    color: #333333;
}

/* Grid Layout Variations */
.layout-4-square {
    grid-template-columns: repeat(4, 1fr);
}

.layout-4-square .showcase-card {
    aspect-ratio: 1 / 1;
}

.layout-2-wide {
    grid-template-columns: repeat(2, 1fr);
}

.layout-2-wide .showcase-card {
    aspect-ratio: 16 / 9;
}

.layout-2-square-1-wide .showcase-card:nth-child(1),
.layout-2-square-1-wide .showcase-card:nth-child(2) {
    grid-column: span 1;
    aspect-ratio: 1 / 1;
}

.layout-2-square-1-wide .showcase-card:nth-child(3) {
    grid-column: span 2;
}

/*.layout-1-wide-2-square .showcase-card:nth-child(1) { grid-column: span 2; }*/
/*.layout-1-wide-2-square .showcase-card:nth-child(2),*/
/*.layout-1-wide-2-square .showcase-card:nth-child(3) { grid-column: span 1; aspect-ratio: 1 / 1; }*/

.layout-1-wide-2-square .showcase-card:nth-child(1) {
    grid-column: span 2;
    aspect-ratio: 2.05 / 1
}

.layout-1-wide-2-square .showcase-card:nth-child(2),
.layout-1-wide-2-square .showcase-card:nth-child(3) {
    grid-column: span 1;
    aspect-ratio: 1 / 1;
}

.layout-1-big-square-4-square .showcase-card:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
}

.layout-1-big-square-4-square .showcase-card:not(:nth-child(1)) {
    aspect-ratio: 1 / 1;
}

.layout-4-square-1-big-square .showcase-card:nth-child(5) {
    grid-column: span 2;
    grid-row: span 2;
}

.layout-4-square-1-big-square .showcase-card:not(:nth-child(5)) {
    aspect-ratio: 1 / 1;
}

/*.layout-1-tall-2-square-1-big .showcase-card:nth-child(1) { grid-column: span 1; grid-row: span 2; }*/
/*.layout-1-tall-2-square-1-big .showcase-card:nth-child(2),*/
/*.layout-1-tall-2-square-1-big .showcase-card:nth-child(3) { grid-column: span 1; aspect-ratio: 1 / 1; }*/
/*.layout-1-tall-2-square-1-big .showcase-card:nth-child(4) { grid-column: span 2; grid-row: span 2; }*/

.layout-1-tall-2-square-1-big {
    grid-template-rows: auto auto;
}

.layout-1-tall-2-square-1-big .showcase-card:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.layout-1-tall-2-square-1-big .showcase-card:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    aspect-ratio: 1 / 1;
}

.layout-1-tall-2-square-1-big .showcase-card:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    aspect-ratio: 1 / 1;
}

.layout-1-tall-2-square-1-big .showcase-card:nth-child(4) {
    grid-column: 3 / 5;
    grid-row: 1 / 3;
}

/*.layout-1-big-2-square-1-tall .showcase-card:nth-child(1) { grid-column: span 2; grid-row: span 2; }*/
/*.layout-1-big-2-square-1-tall .showcase-card:nth-child(2),*/
/*.layout-1-big-2-square-1-tall .showcase-card:nth-child(3) { grid-column: span 1; aspect-ratio: 1 / 1; }*/
/*.layout-1-big-2-square-1-tall .showcase-card:nth-child(4) { grid-column: span 1; grid-row: span 2; }*/

.layout-1-big-2-square-1-tall {
    grid-template-rows: auto auto;
}

.layout-1-big-2-square-1-tall .showcase-card:nth-child(1) {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
}

.layout-1-big-2-square-1-tall .showcase-card:nth-child(2) {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    aspect-ratio: 1 / 1;
}

.layout-1-big-2-square-1-tall .showcase-card:nth-child(3) {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
    aspect-ratio: 1 / 1;
}

.layout-1-big-2-square-1-tall .showcase-card:nth-child(4) {
    grid-column: 4 / 5;
    grid-row: 1 / 3;
}

@media (max-width: 768px) {
    .showcase-drawer-content {
        flex-direction: column;
    }

    .showcase-drawer-left,
    .showcase-drawer-right {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

/* end showcases */

/* If the list has a 6th item (or more), split it into 2 columns */
.inc-products-list:has(li:nth-child(6)) {
    column-count: 2;
    column-gap: 20px;
}

/* Optional: Prevent list items from breaking in half across the columns */
.inc-products-list:has(li:nth-child(6)) li {
    break-inside: avoid;
    margin-bottom: 10px;
    /* Add spacing between items */
}

.section-careers {
    #app_container {
        margin: 0px;
        text-align: center;

        .filters_div.row {
            justify-content: center;
        }

        .btn {
            background-color: #e81727;
            border-radius: 0px;
            color: #fff;
            border: none;
            padding: 12px 48px;
            color: var(--Neutrals-White, #FFF);
            font-family: Lato;
            font-size: 16px;
            font-style: normal;
            font-weight: 700;
            line-height: 120%;
            /* 21.6px */

            &:hover {
                background-color: #ba121f;
            }
        }
    }
}

.row.quick-links {
    h3 {
        color: #FFF;
        font-family: "Roboto Condensed";
        font-size: 24px;
        font-style: normal;
        font-weight: 900;
        line-height: 120%;
        /* 28.8px */
    }

    a {
        color: #E21C17 !important;
    }

    .button.primary.is-underline {

        &:has(> i.icon-angle-right),
        &:has(> i.icon-expand) {
            i {
                background-color: #E21C17;
            }
        }
    }

    >.col:hover {
        background-color: #f0f0f0;
        transition: all 0.2s ease;

        h3,
        p {
            color: #333 !important;
        }

        a {
            color: #400000 !important;
        }

        .button.primary.is-underline {

            &:has(> i.icon-angle-right),
            &:has(> i.icon-expand) {
                i {
                    background-color: #400000;
                }
            }
        }
    }
}

.why-careers {
    h3 {
        color: #400000;
        font-family: "Roboto Condensed";
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 120%;
        /* 28.8px */
    }

    p {
        color: #400000;
    }
}

.row.warranty-next-steps {
    .col {
        padding-bottom: 0px;
        color: #400000;
    }

    .col-inner {
        &:before {
            content: "1";
            position: absolute;
            left: 32px;
            top: 32px;
            width: 48px;
            height: 48px;
            background-color: #950511;
            color: var(--jade-red-lightest-100, #FFEAE0);
            text-align: center;
            font-family: Lato;
            font-size: 24px;
            font-style: normal;
            font-weight: 900;
            line-height: 100%;
            /* 24px */
            padding-top: 12px;
        }
    }

    .col:nth-child(2) .col-inner:before {
        content: "2";
    }

    .col:nth-child(3) .col-inner:before {
        content: "3";
    }

    h3 {
        color: var(--jade-red-darkest-900, #400000);
        font-family: "Roboto Condensed";
        font-size: 24px;
        font-style: normal;
        font-weight: 600;
        line-height: 120%;
        /* 28.8px */
    }

    .col-inner p:last-child {
        margin-bottom: 0px;
    }
}

.border-left-primary {
    border-left: 2px solid #e51a20;
    padding-left: 16px;
    line-height: 1.6;
    margin-top: 8px;
}

.cta-assistance {
    .section-bg.fill {
        &:after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, #101010 50%, rgba(0, 0, 0, 0.00) 100%);
        }
    }

    a.cta-phone,
    .cta-hours>p {
        color: var(--Neutrals-White, #FFF);
        font-family: "Roboto Condensed";
        font-size: 18px;
        font-style: normal;
        font-weight: 600;
        line-height: 36px;
        min-height: 0px;
        padding-left: 36px;
        background-repeat: no-repeat;
        background-position: 0 50%;
    }

    a.cta-phone {
        background-image: url('assets/img/cta-phone.png');

        &:hover span {
            text-decoration: underline;
        }
    }

    .cta-hours>p {
        margin-bottom: 0px;
        background-image: url('assets/img/cta-hours.png');
    }

    @media (min-width: 850px) {
        .cta-hours {
            margin-left: 24px !important;
            padding-left: 24px;
            border-left: 1px solid #934617;
        }
    }

    @media (max-width: 849px) {
        .stack {
            margin-top: 22px;
        }
    }
}


/**** Resources ****/
body .wrl-app {
    font-family: Lato, sans-serif;

    --wrl-accent: #e51a20;
    --wrl-accent-2: #bf581a;
    --wrl-ink: #333132;
    --wrl-text: #353535;
    --wrl-muted: #555555;
    --wrl-line: #E6E6E6;
    --wrl-bg: #FAFAFA;
    --wrl-radius: 4px;
    font-family: "Open Sans", Arial, Helvetica, sans-serif;
    color: var(--wrl-ink);
}


/**** Find a sales rep Map ****/
.find-rep-map {
    >p {
        color: var(--Neutrals-Dark-Gray, #333);
        font-family: "Roboto Condensed";
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

    .dropdown_select {
        margin-bottom: 64px;

        .bootstrap-select {
            width: 400px !important;

            >button {
                border-radius: 0;
                color: var(--Neutrals-Dark-Gray, #333);
                font-family: Lato;
                font-size: 18px;
                font-style: normal;
                font-weight: 400;
                line-height: normal;
            }
        }
    }
}

.map-tabs {
    .tab-panels {
        padding-top: 0;
    }

    ul.nav {
        &:before {
            content: ' ';
            position: absolute;
            width: 16px;
            height: 100%;
            background-color: #fff;
            left: -17px;
            top: 0;
        }

        background-color: #f3f3f3;
        border: 1px solid #a5a5a5;
        border-radius: 100px;
        display: inline-block;
        position: absolute;
        width: auto;
        right: 0;
        top: 0;
        padding: 8px;

        .tab {
            border-radius: 100px;

            >a,
            >span {
                display: inline-block;
                padding-top: 10px;
                padding-bottom: 10px;
                padding-left: 32px;
                padding-right: 32px;
                text-decoration: none;
                font-family: Lato, sans-serif;
                font-size: .8em;
                font-weight: 700;
                font-style: normal;
                color: rgba(74, 74, 74, .85);
                transition: all .2s;
            }

            &:hover {
                background-color: #fff;

                >a,
                >span {
                    cursor: pointer;
                }
            }

            &.active {
                border-radius: 100px;
                background: var(--Neutrals-White, #FFF);
                box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25);

                >a,
                >span {
                    color: #101010 !important;
                }
            }
        }
    }
}

#map,
#map_ca {
    width: 100%;
    height: 800px;
}

#close-tooltip {
    font-size: 1.5em;
    cursor: pointer;
    position: absolute;
    right: 10px;
    top: 5px;
}

#close-tooltip:hover {
    color: #ED4944;
}

.tooltip-content {
    padding: 10px;
    padding-top: 20px;
}

#customTip {
    z-index: 99;
}

.tooltip-title-state {
    text-transform: uppercase;
    font-weight: 600;
}

.rep-block {
    /*padding-top:15px;*/
    /*padding-bottom:7px;*/
    padding: 15px 5px 7px 5px;
    max-width: 450px;
    margin: 0 auto;
}

.rep-block-odd {
    background-color: #242222;
}

.rep-block-even {
    background-color: #4f4f4f;
}

.position_main {
    position: relative;
}

.map_overlay {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 9;
    background: transparent;
}

.hide {
    display: none;
}

.wrl-docs__head-col {
    scroll-margin-top: 112px;
}



/* PDP */
.product-cat-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 0.95rem;
    margin-bottom: 2px;
    color: #666;
}

.product-cat-breadcrumbs a {
    color: #000;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
    color: var(--jade-red-base-500, #E21C17);
    font-family: "Roboto Condensed";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    /* 21.6px */
}

.product-cat-breadcrumbs a:hover {
    color: #e51a20;
}

.breadcrumb-sep {
    display: flex;
    align-items: center;
    color: #a5a5a5;
}

.breadcrumb-sep svg {
    margin-top: -4px;
}

.breadcrumb-current {
    color: #888;
    cursor: default;
}

.pdp-info {
    padding-right: 24px;
}

.pdp h1 {
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: Roboto;
    font-size: 44px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    /* 61.6px */
}

.pdp h2.pdp-desc {
    color: var(--Neutrals-Dark-Gray, #333);
    font-family: "Roboto Condensed";
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    /* 28.8px */
    border-bottom: 1px solid #333;
    display: inline-block;
    width: auto;
    position: relative;
    padding-bottom: 4px;
    margin-bottom: 24px;
}

.pdp-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* Creates two equal-width columns */
    gap: 16px;
}

/* Make the buttons stretch to fill their grid cells */
.pdp-buttons a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 0;
}

/* Target the very first button and make it span both columns */
.pdp-buttons a:first-child {
    grid-column: span 2;
}

/* Gallery Container */
.rs-gallery-container {
    display: flex;
    gap: 16px;
    width: 100%;
    align-items: flex-start;
}

/* Left: Main Image */
.rs-gallery-main {
    position: relative;
    flex: 1;
    height: 550px;
    /* Adjust this height based on your layout needs */
    background-color: #f7f7f7;
    /* Letterboxing background */
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Carousel Button Styles */
.rs-carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    background-color: rgba(0, 0, 0, 0.5);
    /* Semi-transparent black */
    color: #ffffff;
    /* White arrows */
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    transition: background-color 0.2s ease;
    padding: 0;
    margin: 0;
}

.rs-carousel-btn:hover {
    background-color: rgba(0, 0, 0, 0.85);
}

.rs-carousel-btn svg {
    width: 24px;
    height: 24px;
}

.rs-carousel-prev {
    left: 16px;
}

.rs-carousel-next {
    right: 16px;
}

/* 3D iFrame & Thumbnail Overlay Adjustments */
.rs-gallery-main iframe {
    width: 100%;
    height: 100%;
    border: 0;
    display: block;
}

.rs-thumb-item.rs-thumb-3d .rs-thumb-overlay {
    opacity: 0.85;
    background-color: rgba(0, 0, 0, 0.4);
}

.rs-thumb-item.rs-thumb-3d.active .rs-thumb-overlay,
.rs-thumb-item.rs-thumb-3d:hover .rs-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.65);
}

.rs-3d-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
}

.rs-3d-icon svg {
    width: 28px;
    height: 28px;
    stroke: #ffffff;
}

.rs-gallery-main img {
    max-width: 100%;
    max-height: 100%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Fills the whole box and crops the excess */
    display: block;
}

/* Right: Vertical Thumbnails */
.rs-gallery-thumbs {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100px;
    /* Thumbnail width */
    max-height: 550px;
    /* Should match the main image height */
    overflow-y: auto;
    /* Adds scrollbar if there are lots of thumbnails */
    flex-shrink: 0;
}

/* Custom scrollbar for webkit (optional but looks cleaner) */
.rs-gallery-thumbs::-webkit-scrollbar {
    width: 4px;
}

.rs-gallery-thumbs::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 4px;
}

/* Thumbnail Item & Hover/Active States */
.rs-thumb-item {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 1 / 1;
    flex-shrink: 0;
}

.rs-thumb-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rs-thumb-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

/* Active State */
.rs-thumb-item.active .rs-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.3);
}

.rs-thumb-item.active .eyeball-icon {
    opacity: 1;
}

.rs-thumb-item.active:hover .eyeball-icon {
    opacity: 0;
}

/* Hover State */
.rs-thumb-item:hover .rs-thumb-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.65);
    border: 4px solid #950511;
}

.rs-thumb-item:hover .view-icon {
    opacity: 1;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .rs-gallery-container {
        flex-direction: column;
        /* Stacks main image on top, thumbs on bottom */
    }
    
    .rs-gallery-main {
        width: 100%;
        height: 400px;
    }
    
    .rs-gallery-thumbs {
        flex-direction: row;
        /* Horizontal thumbnails on mobile */
        width: 100%;
        max-height: auto;
        overflow-y: visible;
        overflow-x: auto;
        padding-bottom: 8px;
    }
    
    .rs-thumb-item {
        width: 80px;
        /* Slightly smaller thumbs on mobile */
    }
}

@media (max-width: 849px) {
    .pdp-buttons {
        margin-bottom: 26px;
    }
}

/* Container and Global Settings */
#row-product-table {
    margin-top: 32px;
    overflow: scroll;
}

.product-table-wrapper {
    background-color: #f6f6f6;
    padding: 30px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    color: #333;
    min-width: 1100px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Filters Section */
.product-table-filters {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

/* Layout adjustment when filter controls are disabled */
.product-table-filters.has-no-filters {
    justify-content: flex-end;
}

.product-table-filters.has-no-filters .filter-results {
    margin-left: auto;
}

.filter-controls {
    display: flex;
    gap: 30px;
}

.filter-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter-group label {
    font-size: 14px;
    font-weight: 600;
    color: #555;
}

.select-wrapper {
    position: relative;
    width: 280px;
}

.select-wrapper select {
    width: 100%;
    appearance: none;
    background-color: #fff;
    border: 1px solid #ccc;
    /*padding: 12px 35px 12px 15px;*/
    font-size: 15px;
    color: #333;
    border-radius: 2px;
    cursor: pointer;
}

/* Custom Dropdown Arrow */
/* .select-wrapper::after { */
/*content: "";*/
/*position: absolute;*/
/*right: 15px;*/
/*top: 50%;*/
/*transform: translateY(-50%);*/
/*border-width: 6px 6px 0 6px;*/
/*border-style: solid;*/
/*border-color: #333 transparent transparent transparent;*/
/*pointer-events: none;*/
/* } */

.select-wrapper select:focus {
    outline: none;
    border-color: #999;
}

/* Table Filtering Visual Feedback Animation */
.product-table-wrapper .table-responsive {
    transition: opacity 0.25s ease-in-out, transform 0.25s ease-in-out;
}

.product-table-wrapper .table-responsive.is-filtering {
    opacity: 0.3;
    transform: scale(0.998);
    pointer-events: none;
}

/* Results & Reset Link */
.filter-results {
    text-align: right;
    font-size: 15px;
    line-height: 1.4;
}

.results-count {
    color: #777;
    display: block;
}

.reset-link {
    color: #da291c;
    text-decoration: underline;
    font-weight: 600;
}

.reset-link:hover {
    text-decoration: none;
}

/* Table Section */
.table-responsive {
    width: 100%;
    /*overflow-x: auto; /* Allows table to scroll on mobile instead of breaking */
}

.product-data-table {
    width: 100%;
    border-collapse: collapse;
    text-align: left;
}

/* Table Headers */
.product-data-table thead {
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
}

.product-data-table th {
    padding: 18px 15px;
    font-weight: 700;
    font-size: 15px;
    color: #222;
}

/* Table Rows */
.product-data-table tbody tr {
    border-bottom: 1px solid #dcdcdc;
}

.product-data-table td {
    padding: 20px 15px;
    vertical-align: middle;
    font-size: 15px;
    color: var(--Neutrals-Dark-Gray, #333);
    text-align: center;
    font-family: Lato;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* Column Specific Sizing (Optional, helps keep it balanced) */
.col-image {
    min-width: 155px;
    width: 155px;
}

.col-model {
    width: 18%;
    font-weight: 500;
    text-align: center;
}

.col-desc {
    width: 35%;
    color: #444;
    text-align: center;
}

.col-assets {
    width: 15%;
    text-align: center;
}

.col-cad {
    width: 12%;
    text-align: center;
}

.col-quote {
    width: 15%;
    text-align: center;
}

/* Image Styling */
.col-image img {
    display: block;
    width: 125px;
    height: 125px;
    object-fit: cover;
    border: 1px solid #a5a5a5;
}

/* Asset Links */
.asset-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #333;
    text-decoration: none;
}

.asset-link:hover {
    text-decoration: underline;
}

/* Container must be relative to anchor the absolute dropdown */
.spec-sheet-dropdown-container {
    position: relative;
    display: inline-block;
}

/* Trigger Styling (Text + Icon) */
.spec-sheet-trigger {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #333;
    /* font-weight: 500; */
    cursor: pointer;
    user-select: none;
    transition: color 0.2s ease;
}

.spec-sheet-trigger:hover {
    color: #e51a20;
    /* Changes to your red on hover */
}

/* Hidden Dropdown Menu Styling */
.spec-sheet-menu {
    position: absolute;
    top: calc(100% + 8px);
    /* Sits slightly below the trigger */
    left: 0;
    background: #ffffff;
    min-width: 200px;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);

    /* Hidden state */
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
    z-index: 999;
    /* Ensures it sits above subsequent table rows */
}

/* Open State */
.spec-sheet-dropdown-container.is-open .spec-sheet-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Dropdown Links */
.spec-sheet-menu a {
    display: block;
    padding: 10px 16px;
    color: #444;
    text-decoration: none;
    font-size: 0.9rem;
    border-bottom: 1px solid #f0f0f0;
    transition: background 0.2s ease, color 0.2s ease;
    text-transform: none;
}

.spec-sheet-menu a:last-child {
    border-bottom: none;
}

.spec-sheet-menu a:hover {
    background: #f9f9f9;
    color: #e51a20;
}

/* Spec Sheet Dropdown in PDP Buttons */
.pdp-buttons .spec-sheet-dropdown-container {
    width: 100%;
    display: flex;
    position: relative;
}

.pdp-buttons .spec-sheet-dropdown-container .spec-sheet-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.pdp-buttons .spec-sheet-dropdown-container.is-open > .button.orange.is-outline {
    background-color: #BC5812;
    color: #fff;
}

.pdp-buttons .spec-sheet-dropdown-container .spec-sheet-menu {
    width: 100%;
    left: 0;
    right: 0;
    box-sizing: border-box;
}

.pdp-buttons .spec-sheet-dropdown-container .spec-sheet-menu a {
    display: block;
    text-align: left;
    justify-content: flex-start;
    padding: 10px 16px;
    font-size: 0.9rem;
    color: #444;
    background: transparent;
    border: none;
    border-bottom: 1px solid #f0f0f0;
    min-height: 0;
    min-width: 0;
    line-height: 1.4;
}

.pdp-buttons .spec-sheet-dropdown-container .spec-sheet-menu a:last-child {
    border-bottom: none;
}

.pdp-buttons .spec-sheet-dropdown-container .spec-sheet-menu a:hover {
    background: #f9f9f9;
    color: #e51a20;
}

/* Button with spec-sheet icon alignment & color */
body .button.orange.is-outline svg {
    margin-left: 6px;
    flex-shrink: 0;
}

body .button.orange.is-outline svg path {
    fill: currentColor;
}

/* Disabled button state */
body .button.disabled,
body .button[disabled],
body a.button.disabled {
    /* opacity: 0.45; */
    cursor: not-allowed;
    pointer-events: none;
    box-shadow: none;
    border-color: #a5a5a5 !important;
    color: #a5a5a5 !important;
    background-color: #f3f3f3 !important;
}

/* CAD/Revit Icons (CSS drawn for simplicity/accuracy) */
.cad-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.cad-icons a {
    text-decoration: none;
}

.cad-icons a:hover img {
    opacity: 0.5;
}

.cad-icons img {
    margin: 0 4px;
}

.icon-autocad,
.icon-revit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    border-radius: 2px;
}

.icon-autocad {
    background-color: #da291c;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    padding-top: 4px;
}

.icon-revit {
    background-color: #1a2a47;
}

/* Quote Button */
.col-quote .mbshop.mbshop--vertical {
    flex-direction: revert;
}

.btn-quote {
    display: inline-block;
    background-color: #da291c;
    color: #ffffff;
    padding: 12px 24px;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border-radius: 2px;
    text-align: center;
    transition: background-color 0.2s ease;
    text-transform: none;
}

.btn-quote:hover {
    background-color: #b92015;
    color: #fff;
}

/* Responsive adjustments for smaller screens */
@media (max-width: 900px) {
    .product-table-filters {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .filter-results {
        text-align: left;
    }
}

.related-series-section {
    margin: 0;
    width: 100%;
    box-sizing: border-box;
}

.related-series-title {
    font-size: 1.8rem;
    margin-bottom: 24px;
    font-weight: 700;
    text-align: center;
}

/* Outer Wrapper taking 100% width */
.series-slider-wrapper {
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

/* Viewport takes full 100% width of parent */
.series-slider-viewport {
    width: 100%;
    overflow: hidden;
    padding: 10px 0 20px;
    /* Spacing for card hover box-shadow */
    box-sizing: border-box;
}

.series-slider-track {
    display: flex;
    gap: 32px;
    width: 100%;
}

/* Wrap the track items if it's acting as a static grid */
.series-slider-wrapper.is-static .series-slider-track {
    flex-wrap: wrap;
}

/* Individual Cards - Sharp Corners */
.series-card {
    flex: 0 0 calc((100% - 64px) / 3);
    position: relative;
    border-radius: 0;
    /* Sharp corners */
    overflow: hidden;
    aspect-ratio: 4 / 3;
    display: block;
    text-decoration: none;
    background-color: #eaeaea;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.series-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 18px -16px rgba(0, 0, 0, 0.50);
}

.series-card-bg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.series-card-overlay {
    position: absolute;
    inset: 0;
    /*background: linear-gradient(to top, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0) 50%);*/
    /*background: linear-gradient(0deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.25) 100%);*/
    background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0.00) 33%);
    z-index: 2;
}

.series-card-title-text {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    z-index: 3;
    color: #ffffff;
    font-size: 1.3rem;
    font-weight: 700;
    margin: 0;
    line-height: 1.2;
    color: var(--Neutrals-White, #FFF);
    font-family: Lato;
    font-size: 20px;
    font-style: normal;
    font-weight: 800;
    line-height: 120%;
    /* 24px */
}

/* Controls Bar & Buttons - Desktop Outside Positioning */
.series-slider-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 10;
}

.series-nav-btn {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    background: #ffffff;
    color: #333;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    margin: 0;
    border-radius: 0;
    /* Sharp corners */
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.series-nav-btn:hover {
    /*background-color: #000000;*/
    /*color: #ffffff;*/
    /*border-color: #000000;*/
    opacity: 0.5;
}

/* Position buttons cleanly outside the 100% container on desktop */
.series-nav-btn.prev-btn {
    left: -12px;
    transform: translateX(-100%) translateY(-50%);
}

.series-nav-btn.next-btn {
    right: -12px;
    transform: translateX(100%) translateY(-50%);
}

/* Responsive Breakpoint: When buttons risk overflowing, drop them below slider */
@media (max-width: 1540px) {
    .series-slider-controls {
        position: relative;
        top: auto;
        left: auto;
        right: auto;
        transform: none;
        display: flex;
        justify-content: space-between;
        margin-top: 16px;
        pointer-events: auto;
    }

    .series-nav-btn.prev-btn,
    .series-nav-btn.next-btn {
        position: static;
        transform: none;
    }
}

@media (max-width: 992px) {
    .series-card {
        flex: 0 0 calc((100% - 32px) / 2);
    }
}

@media (max-width: 600px) {
    .series-card {
        flex: 0 0 100%;
    }
}

/* end PDP */


/* Markets We Serve */
#section_market_grid {
    padding-top: 0;
    padding-bottom: 112px;
    margin-top: -100px;
}

.market-image-grid {
    display: grid;
    grid-template-columns: 3fr 1fr;
    /* 75% left, 25% right */
    grid-template-rows: 1fr 1fr;
    gap: 32px;
    aspect-ratio: 16 / 9;
    max-height: 560px;
    width: 100%;
}

.market-grid-item {
    position: relative;
    overflow: hidden;
}

.market-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* 1st image: takes up 75% container width and full height */
.market-grid-item-1 {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

/* 2nd image: top-right 25% */
.market-grid-item-2 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

/* 3rd image: bottom-right 25% */
.market-grid-item-3 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

/* Fallback if only 2 images are provided */
.market-grid-item-2:last-child {
    grid-row: 1 / 3;
}

.section.market-secondary-content .col-inner .text * {
    color: #fff;
}

.section.market-secondary-content .col-inner .text p:last-child {
    margin-bottom: 0px;
}

#section_market_experience {
    background-color: #f3f3f3;
    padding-top: 112px;
    padding-bottom: 112px;
}

.market-gallery-title {
    margin-bottom: 40px;
}

.market-split-slider {
    margin-bottom: 72px;
}

.market-slider-row {
    display: flex;
    align-items: center;
    gap: 48px;
}

.market-slider-media-col {
    flex: 0 0 calc(50% - 24px);
    max-width: calc(50% - 24px);
}

.market-slider-image-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background-color: #e0e0e0;
}

.market-slide-image-item {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;
}

.market-slide-image-item.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 1;
}

.market-slide-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Slider Arrows */
.market-slider-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: rgba(30, 30, 30, 0.65);
    color: #ffffff;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.market-slider-arrow:hover {
    background-color: rgba(10, 10, 10, 0.85);
    transform: translateY(-50%) scale(1.06);
}

.market-slider-arrow.prev-btn {
    left: 16px;
}

.market-slider-arrow.next-btn {
    right: 16px;
}

/* Navigation Dots */
.market-slider-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 18px;
}

.market-slider-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background-color: #a5a5a5;
    border: none;
    padding: 0;
    margin: 0;
    min-height: 0;
    min-width: 0;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.market-slider-dot:hover {
    background-color: #777777;
}

.market-slider-dot.is-active {
    background-color: #e51a20;
    transform: scale(1.15);
}

/* Content Viewport */
.market-slider-content-col {
    flex: 0 0 calc(50% - 24px);
    max-width: calc(50% - 24px);
}

.market-slider-content-viewport {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.market-slide-content-item {
    grid-column: 1;
    grid-row: 1;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s;
    display: flex;
    flex-direction: column;
}

.market-slide-content-item.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    z-index: 2;
}

.market-slide-title {
    font-size: 2rem;
    font-weight: 700;
    color: #222222;
    margin-bottom: 18px;
    line-height: 1.25;
}

.market-slide-caption {
    font-size: 1.05rem;
    line-height: 1.65;
    color: #444444;
    margin-bottom: 28px;
}

.market-slide-caption p {
    margin-bottom: 0;
}

.market-slide-action {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
}

.market-learn-more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e51a20;
    font-size: 1.05rem;
    font-weight: 600;
    text-decoration: none;
    border-bottom: 2px solid #e51a20;
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease;
}

.market-learn-more-link:hover {
    color: #ba121f;
    border-color: #ba121f;
    gap: 12px;
}

/* Capabilities Pills */
.market-capabilities-wrapper {
    margin-top: 16px;
}

.capabilities-pills-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 16px;
    margin-top: 36px;
}

.capability-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: #ffffff;
    border: 1px solid #6b2d2d;
    border-radius: 999px;
    padding: 10px 22px;
    font-size: 15px;
    line-height: 1.3;
    color: #222222;
    font-weight: 500;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.capability-pill:hover {
    transform: translateY(-1px);
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.06);
}

.capability-check-icon {
    flex-shrink: 0;
    color: #6b2d2d;
}

.capability-toggle-btn {
    cursor: pointer;
    font-weight: 600;
    color: #6b2d2d;
    background-color: #ffffff;
    margin: 0;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.capability-toggle-btn:hover {
    background-color: #6b2d2d;
    color: #ffffff;
    transform: translateY(-1px);
}

.capability-toggle-btn .plus-icon {
    font-weight: 700;
    font-size: 17px;
}

/* Responsive */
@media (max-width: 849px) {
    #section_market_experience {
        padding-top: 60px;
        padding-bottom: 72px;
    }

    .market-slider-row {
        flex-direction: column;
        gap: 36px;
    }

    .market-slider-media-col,
    .market-slider-content-col {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .market-slide-title {
        font-size: 1.65rem;
    }

    .capabilities-pills-wrap {
        gap: 10px 12px;
    }

    .capability-pill {
        padding: 8px 18px;
        font-size: 14px;
    }
}

.section.section-market-showcase {
    padding: 112px 0;
}

.market-showcase-title {
    margin-bottom: 32px;
}

.market-showcase-row.layout-2-items-50-50 {
    grid-template-columns: repeat(2, 1fr);
}

.market-showcase-row.layout-2-items-50-50 .showcase-card {
    aspect-ratio: 16 / 9;
}

.market-showcase-row.layout-3-items-33-33-33 {
    grid-template-columns: repeat(3, 1fr);
}

.market-showcase-row.layout-3-items-33-33-33 .showcase-card {
    aspect-ratio: 16 / 10;
}

.market-showcase-row .showcase-card {
    /* border: 4px solid transparent; */
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

.market-showcase-row .showcase-card:hover,
.market-showcase-row .showcase-card.active {
    border-color: #950511;
}

.market-showcase-row .showcase-card.active .showcase-card-overlay {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.45);
}

.market-showcase-row .showcase-card.active:hover .showcase-card-overlay {
    background-color: rgba(0, 0, 0, 0.65);
}

.market-showcase-row .showcase-card.active .eyeball-icon {
    opacity: 1;
}

.market-showcase-row .showcase-card.active:hover .eyeball-icon {
    opacity: 0;
}

/* Drawer Styles */
.market-showcase-drawer {
    border: 3px solid #950511;
    border-width: 3px 0;
    border-radius: 0;
    padding: 32px 0 24px 0;
    background: #ffffff;
    margin-top: 12px;
}

.market-drawer-top {
    display: flex;
    gap: 32px;
    align-items: stretch;
}

.market-drawer-media {
    flex: 0 0 54%;
    max-width: 54%;
    min-height: 400px;
}

.market-drawer-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.market-drawer-next-to-img {
    flex: 1;
    background-color: #f3f3f3;
    padding: 32px 36px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.market-drawer-next-to-img h3,
.market-drawer-next-to-img h4 {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: #222;
    line-height: 1.25;
    margin-bottom: 16px;
}

.market-drawer-next-to-img p {
    color: #444;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 16px;
}

.market-drawer-next-to-img ul {
    list-style: none;
    padding-left: 0;
    margin: 12px 0 0 0;
}

.market-drawer-next-to-img ul li {
    position: relative;
    padding-left: 1.4rem;
    margin-bottom: 8px;
    font-size: 14.5px;
    line-height: 1.45;
    color: #333;
}

.market-drawer-next-to-img ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.25rem;
    width: 14px;
    height: 14px;
    background-image: url('<?php echo esc_url( get_stylesheet_directory_uri() . "/assets/img/li-1.svg" ); ?>');
    background-size: contain;
    background-repeat: no-repeat;
}

.market-drawer-below-img {
    margin-top: 32px;
    padding-top: 8px;
}

.market-drawer-below-img h3,
.market-drawer-below-img h4 {
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #222;
    line-height: 1.3;
    margin-bottom: 14px;
}

.market-drawer-below-img p {
    color: #444;
    font-size: 15px;
    line-height: 1.65;
    margin-bottom: 14px;
}

@media (max-width: 849px) {

    .market-showcase-row.layout-2-items-50-50,
    .market-showcase-row.layout-3-items-33-33-33 {
        grid-template-columns: 1fr;
    }

    .market-drawer-top {
        flex-direction: column;
    }

    .market-drawer-media,
    .market-drawer-next-to-img {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .market-drawer-media {
        min-height: 260px;
    }
}

/* Responsive styling */
@media (max-width: 768px) {
    #section_market_grid {
        padding-bottom: 40px;
    }

    .market-image-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
        aspect-ratio: auto;
        max-height: none;
        gap: 12px;
    }

    .market-grid-item-1 {
        grid-column: 1 / -1;
        grid-row: auto;
        height: 280px;
    }

    .market-grid-item-2,
    .market-grid-item-3 {
        grid-column: span 1;
        grid-row: auto;
        height: 160px;
    }
}

@media (max-width: 480px) {
    .market-image-grid {
        grid-template-columns: 1fr;
    }

    .market-grid-item-2,
    .market-grid-item-3 {
        grid-column: 1 / -1;
    }
}


/* Forms */
form .gform_body {
    background-color: #f3f3f3;
    padding: 32px;
    margin-top: -32px;

    .gfield {

        input,
        select,
        textarea {
            font-size: 18px;
            padding: 20px 24px;
            height: auto;
            line-height: 1;
            border: 1px solid var(--Neutrals-Gray, #A5A5A5);
            background-color: var(--Neutrals-White, #FFF);
            box-shadow: none;
            border-radius: 0px;

            &:hover {
                border: 1px solid var(--jade-orange-base-500, #BC5812);
                background-color: var(--Neutrals-White, #FFF);
            }

            &:active,
            &:focus {
                border: 1px solid var(--jade-orange-base-500, #BC5812);
                background-color: var(--Neutrals-White, #FFF);
                box-shadow: 0 0 8px 4px rgba(188, 88, 18, 0.20);
            }
        }

        .gfield_required.gfield_required_text {
            font-size: 14px;
            font-style: italic;
        }

        &.gfield_error.gfield_contains_required {

            input,
            select,
            textarea {
                border: 1px solid var(--Alerts-Error-Crimson, #B42318);
                background: var(--Alerts-Error-Crimson-Lightest, #FDEEEE);
                box-shadow: 0 0 8px 4px rgba(180, 35, 24, 0.20);
            }
        }
    }

    .gfield select {
        line-height: 1.25;
    }

    .gfield.gfield--type-section {
        position: relative;
        padding-top: 32px;
        padding-left: 76px;
        border-bottom: none;

        &:before {
            content: '';
            background-color: #fff;
            height: 32px;
            width: calc(100% + 64px);
            top: -32px;
            left: -32px;
            position: absolute;
        }

        h3.gsection_title {
            color: var(--Neutrals-Dark-Gray, #333);
            leading-trim: both;
            text-edge: cap;
            font-family: "Roboto Condensed";
            font-size: 32px;
            font-style: normal;
            font-weight: 700;
            line-height: 120%;
            /* 38.4px */
            margin-bottom: 0px;
            background-color: #f3f3f3;
            position: relative;

            &:after {
                content: '';
                width: calc(100% - 32px);
                height: 2px;
                bottom: -1px;
                left: 32px;
                background-color: #ccc;
                position: absolute;
            }
        }

        .gsection_description {
            color: var(--Neutrals-Dark-Gray, #333);
            font-family: Lato;
            font-size: 18px;
            font-style: normal;
            font-weight: 400;
            line-height: 180%;
            /* 32.4px */
            margin-top: -4px;
            display: inline-block;
            position: relative;

            &:after {
                content: '';
                width: 100%;
                height: 2px;
                top: -1px;
                left: 32px;
                background-color: #f3f3f3;
                position: absolute;
            }
        }
    }

    .gfield+.gfield.gfield--type-section {
        padding-top: 64px;

        &:before {
            top: 0;
        }
    }

    .section-contact,
    .section-location,
    .section-details {
        position: relative;

        &:after {
            content: "";
            position: absolute;
            left: 0;
            bottom: 32px;
            width: 44px;
            height: 44px;
            padding: 6px;
            border-radius: 2.5px;
            border: 1px solid #950511;
            background-color: #950511;
            background-repeat: no-repeat;
            background-position: center;
            background-image: url('assets/img/icon-contact.svg');
            background-size: auto 22px;
        }
    }

    .section-location:after {
        background-image: url('assets/img/icon-pin.svg');
        background-size: auto 29px;
    }

    .section-details:after {
        background-image: url('assets/img/icon-equipment.svg');
        background-size: auto 28px;
    }

    .gfield {
        .gform-field-label__text {
            color: var(--Neutrals-Dark-Gray, #333);
            font-family: "Roboto Condensed";
            font-size: 18px;
            font-style: normal;
            font-weight: 700;
            line-height: normal;
        }
    }
}

.gform-theme--framework select:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)):where(:not([multiple])) {
    background-image: url('assets/img/select-arrow.png');

    &:hover,
    &:focus {
        background-image: url('assets/img/select-arrow.png');
    }
}

/* Make footer a flexbox container spread across both ends */
.gform-footer,
.gform_footer {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 1.5rem;
    flex-wrap: wrap;

    button.custom-gf-reset-btn {
        color: var(--Neutrals-Dark-Gray, #333) !important;
        font-family: Lato !important;
        font-size: 18px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 120% !important;
        background-color: transparent !important;
        border-radius: 0 !important;
        padding: 8px 0px 8px 26px !important;
        box-shadow: none !important;
        border-bottom: 1px solid #333 !important;
        background-image: url('assets/img/x.png');
        background-repeat: no-repeat;
        background-size: 14px 14px;
        background-position: 0px 50%;

        &:hover,
        &:focus {
            background-image: url('assets/img/x.png');
            border-bottom: 1px solid transparent !important;
        }
    }

    button.gform_button {
        color: var(--Neutrals-White, #FFF) !important;
        font-family: Lato !important;
        font-size: 18px !important;
        font-style: normal !important;
        font-weight: 700 !important;
        line-height: 120% !important;
        background-color: #e51a20 !important;
        border-radius: 0 !important;
        padding: 8px 48px !important;

        &:hover {
            background-color: #ba121f !important;
        }
    }
}

.contact-form-container {
    .gform-body.gform_body {
        padding: 0px;
        margin-top: 0px;
    }

    .custom-gf-privacy {
        max-width: 55%;
    }
}

/* Left-aligned Privacy Section */
.custom-gf-privacy {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: #666666;
    max-width: 35%;
    line-height: 1.3;
}

.custom-gf-privacy a {
    color: #e51a20;
    text-decoration: underline;

    &:hover {
        text-decoration: none;
    }
}

.custom-gf-privacy svg.gf-lock-icon {
    flex-shrink: 0;
    color: #333333;
    height: 15px;
    width: auto;
}

/* Right-aligned Buttons Group */
.custom-gf-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    margin-left: auto;
    /* Guarantees right alignment */
}

/* Styling for Clear Form button */
.custom-gf-reset-btn {
    background: transparent;
    border: 1px solid #ccc;
    color: #555;
    padding: 0.5rem 1rem;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.9rem;
    transition: all 0.2s ease;
}

.custom-gf-reset-btn:hover {
    background: #f5f5f5;
    color: #222;
}

/* Mobile responsiveness */
@media (max-width: 600px) {

    .gform-footer,
    .gform_footer {
        flex-direction: column-reverse;
        align-items: stretch !important;
    }

    .custom-gf-privacy {
        max-width: 100%;
    }

    .custom-gf-actions {
        width: 100%;
        justify-content: flex-end;
    }
}

/* Footer */
footer#footer {
    z-index: 1;
}

.footer-primary {
    padding: 8px 0;
}

.footer-secondary {
    padding: 8px 0;
}

.footer-contact {
    position: relative;

    &:after {
        content: '';
        position: absolute;
        height: 100%;
        width: 100vw;
        top: 0;
        right: 0;
        z-index: -1;
        background-color: #400000;
    }

    .img-inner img {
        object-fit: contain;
    }
}

.footer-menu-container a:hover {
    text-decoration: underline;
}

#footer .icon-box p {
    line-height: 1.4 !important;
}

#footer .icon-box a {
    color: #fff;

    &:hover {
        text-decoration: underline;
    }
}

#footer .ux-menu-title {
    font-family: Roboto;
    font-size: 20px;
    padding: 0 0 1em;
    line-height: 1.2;
    min-height: 0px;
    color: #a5a5a5;
    text-transform: none;
}

#footer .absolute-footer .copyright-footer p,
.absolute-footer a {
    color: #a5a5a5;
}

.footer-legal-links {
    a {
        display: inline-block;
        margin-left: 1.5em;
    }
}

/* Mobile Responsiveness */
@media (max-width: 1439px) {
    body .banner .text-inner {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }

    .row.row-collapse {
        padding-left: 20px;
        padding-right: 20px;
    }

    /* .row .col-inner { */
        /* padding: revert !important; */
    /* } */
}

@media (max-width: 849px) {
    .section.about-chefs .img .img-inner[style] {
        margin: 0px !important;
    }

    #footer .section .section-content > .row {
        flex-direction: column-reverse;
    }

    .footer-menus {
        > .col-inner {
            padding-left: 0px !important;
        }
    }

    .footer-menu-container .col-inner .is-border[style] {
        border-width: 0px 0px 1px 0px !important;
    }
}

body .sbi_info_wrapper {
    display: none !important;
}