/*
Theme Name: Enfold Child
Description: A Child Theme for the Enfold WordPress Theme. If you plan to do a lot of file modifications, we recommend using this Theme instead of the original Theme. Updating will be much easier then.
Version: 1.0
Author: Kriesi
Author URI: http://www.kriesi.at
Template: enfold
*/

/* Hide WooCommerce Blocks extension error on cart + checkout */
#top .wc-block-components-totals-wrapper.slot-wrapper:has(.wc-block-components-order-meta p) {
    display: none !important;
}

#top .wc-block-components-totals-wrapper.slot-wrapper .wc-block-components-order-meta {
    display: none !important;
}

/* Center the socket copyright text */
#socket .copyright {
    float: none !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
}

.boxed-page-hero {
    max-width: 1300px !important;
    margin: 0 auto !important; /* This centers the actual container */
    float: none !important; /* Overrides any native Enfold floats */
    clear: both !important;
}

/* =========================================
   GLOBAL HELPERS
   ========================================= */

.special_amp {
    color: inherit !important;
    font-family: inherit;
    font-size: inherit;
    text-decoration: inherit;
    font-weight: inherit;
    font-style: inherit;
}

/* Add down arrow to top-level menu items with sub-menus */
#top #header .av-main-nav > li.menu-item-has-children > a > .avia-menu-text::after {
    content: '\e87b';
    font-family: 'entypo-fontello';
    font-size: 13px;
    font-weight: normal;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    transition: transform 0.3s ease;
}

#top #header .av-main-nav > li.menu-item-has-children:hover > a > .avia-menu-text::after {
    transform: rotate(180deg);
}

/* =========================================
   HEADER
   ========================================= */

@media only screen and (min-width: 991px) {
    #top #header.header-scrolled,
    #top #header.header-scrolled #header_main,
    #top #header.header-scrolled #header_main .container,
    #top #header.header-scrolled #header_main .inner-container {
        height: 78px !important;
        min-height: 78px !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled .logo {
        position: absolute !important;
        left: 24px !important;
        top: 0 !important;
        width: 105px !important;
        height: 78px !important;
        margin: 0 !important;
        transform: none !important;
        z-index: 1000 !important;
    }

    #top #header.header-scrolled .logo a > img {
        opacity: 0 !important;
        visibility: hidden !important;
    }

    #top #header.header-scrolled .logo a {
        display: block !important;
        width: 105px !important;
        height: 78px !important;
        background-image: url('https://pgq.otw.mybluehost.me/website_7b03b02e/wp-content/uploads/2020/10/bv-square.jpg') !important;
        background-repeat: no-repeat !important;
        background-position: left 10px top 8px !important;
        background-size: 66px 66px !important;
    }

    #top #header.header-scrolled .logo .wddw-scrolled-logo {
        display: none !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate {
        position: absolute !important;
        top: 0 !important;
        left: 555px !important;
        right: auto !important;
        width: calc(100% - 150px) !important;
        height: 78px !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        z-index: 999 !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .container {
        width: 100% !important;
        max-width: 100% !important;
        height: 78px !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .main_menu {
        float: left !important;
        position: relative !important;
        left: 0 !important;
        right: auto !important;
        height: 78px !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .av-main-nav {
        display: flex !important;
        justify-content: flex-start !important;
        height: 78px !important;
        margin: 0 !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .av-main-nav > li > a {
        height: 78px !important;
        line-height: 78px !important;
        border-top: 0 !important;
    }
}

@media only screen and (max-width: 990px) {
    #top #header .logo .wddw-scrolled-logo {
        display: none !important;
    }

    #top #header .logo a {
        background-image: none !important;
    }

    #top #header .logo a > img {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .responsive.html_header_top.html_header_sticky #top #wrap_all #header {
        position: relative !important;
        top: auto !important;
    }

    .responsive.html_header_top.html_header_sticky #top #wrap_all #main {
        padding-top: 0 !important;
    }

    #top #header,
    #top #header_main,
    #top #header_main .container,
    #top #header_main .inner-container {
        height: auto !important;
        min-height: 0 !important;
    }

    #top #header_main .inner-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        padding: 15px 0 !important;
    }

    .responsive #top .logo {
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        float: none !important;
        width: 100% !important;
        height: auto !important;
        left: auto !important;
        top: auto !important;
        transform: none !important;
    }

    .responsive #top .logo img {
        max-height: 150px !important;
        width: auto !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .responsive #top #header_main .main_menu {
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        float: none !important;
        width: 100% !important;
        height: auto !important;
        margin: 12px 0 0 !important;
        right: auto !important;
        top: auto !important;
        transform: none !important;
    }

    .responsive #top .av-main-nav-wrap {
        float: none !important;
    }

    .responsive #top .av-burger-menu-main {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        padding: 0 !important;
    }

    .responsive #top .av-burger-menu-main a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 40px !important;
        line-height: 40px !important;
    }

    .responsive #top .av-burger-menu-main a .avia_hidden_link_text {
        display: inline-block !important;
        position: static !important;
        clip: auto !important;
        width: auto !important;
        height: auto !important;
        margin-left: 2px !important;
        margin-top: 3px !important;
        color: #1a426b !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
    }

    .responsive #top .av-burger-menu-main a .av-hamburger-inner,
    .responsive #top .av-burger-menu-main a .av-hamburger-inner::before,
    .responsive #top .av-burger-menu-main a .av-hamburger-inner::after {
        background-color: #1a426b !important;
        font-weight:600 !important;
    }
    /* Shrink the hamburger icon by 20% */
    .responsive #top .av-hamburger {
        transform: scale(0.52) !important;
    }
    /* Optically center the menu block by nudging it left */
    .responsive #top .av-burger-menu-main {
        transform: translateX(-12px) !important; 
    }
}

/*
 * Add this AFTER the existing HEADER CSS.
 *
 * It only changes the scrolled menu layout on large screens. The existing
 * logo, header height, tablet, and mobile rules remain in place.
 */
@media only screen and (min-width: 1200px) {
    /*
     * Match Enfold's centered 1200px desktop container. This places the first
     * menu item about 100px to the right of the visible square logo.
     */
    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate {
        left: max(145px, calc((100vw - 1200px) / 2 + 123px)) !important;
        right: max(30px, calc((100vw - 1200px) / 2 + 30px)) !important;
        width: auto !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .container {
        width: 100% !important;
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .main_menu {
        float: none !important;
        width: 100% !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .av-main-nav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: clamp(22px, 1.9vw, 36px) !important;
        width: 100% !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .av-main-nav > li {
        float: none !important;
        flex: 0 0 auto !important;
    }

    .html_header_top.html_logo_center #top #header.header-scrolled #header_main_alternate .av-main-nav > li > a {
        padding-left: 0 !important;
        padding-right: 0 !important;
        white-space: nowrap !important;
    }
}

/* =========================================
   HOME SLIDER
   ========================================= */

.homeslider .avia-caption-title {
    color: #004e82 !important;
}

.homeslider .caption_framed .slideshow_caption .avia-caption-title {
    background-color: rgba(255, 255, 255, 0.8) !important;
    padding: 20px 70px !important;
}

.homeslider .avia-caption-content,
.homeslider .avia-caption-content p {
    color: #333333 !important;
}

/* =========================================
   BUTTONS
   ========================================= */

.custom-transparent-button-dark a.avia-button {
    color: #1f5e9e !important;
    border-color: #1f5e9e !important;
    background-color: transparent !important;
}

.custom-transparent-button-dark a.avia-button svg,
.custom-transparent-button-dark a.avia-button svg path {
    fill: #1f5e9e !important;
}

.custom-transparent-button-dark a.avia-button:hover {
    background-color: #1f5e9e !important;
    border-color: #1f5e9e !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.custom-transparent-button-dark a.avia-button:hover svg,
.custom-transparent-button-dark a.avia-button:hover svg path {
    fill: #ffffff !important;
}

.custom-transparent-button-light a.avia-button {
    color: #ffffff !important;
    border-color: #ffffff !important;
    background-color: transparent !important;
}

.custom-transparent-button-light a.avia-button svg,
.custom-transparent-button-light a.avia-button svg path {
    fill: #ffffff !important;
}

.custom-transparent-button-light a.avia-button:hover {
    background-color: #07b1b1 !important;
    border-color: #07b1b1 !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.custom-transparent-button-light a.avia-button:hover svg,
.custom-transparent-button-light a.avia-button:hover svg path {
    fill: #ffffff !important;
}

.avia-button.bvi-arrow-btn {
    background-color: transparent !important;
    border: 2px solid #062F57 !important;
    color: #062F57 !important;
    transition: all 0.3s ease-in-out !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.avia-button.bvi-arrow-btn .avia_button_icon {
    transition: transform 0.3s ease-in-out !important;
    display: inline-block;
}

.avia-button.bvi-arrow-btn:hover {
    background-color: #062F57 !important;
    color: #ffffff !important;
}

.avia-button.bvi-arrow-btn:hover .avia_button_icon {
    transform: translateX(8px) !important;
}

/* =========================================
   GRAVITY FORM - FORM ID 2
   ========================================= */

#gform_wrapper_2 form.gf_simple_horizontal {
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 20px !important;
    flex-wrap: nowrap !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

#gform_wrapper_2 .gform_body {
    flex: 3 !important;
    margin: 0 !important;
}

#gform_wrapper_2 ul.gform_fields {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

#gform_wrapper_2 .gfield {
    margin: 0 !important;
    padding: 0 !important;
    clear: none !important;
}

#gform_wrapper_2 .gfield--type-name {
    flex: 2 !important;
}

#gform_wrapper_2 .gfield--type-email {
    flex: 1.5 !important;
}

#gform_wrapper_2 .gfield--type-name .ginput_complex {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    width: 100% !important;
}

#gform_wrapper_2 .gfield--type-name .ginput_complex span {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
}

#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 .gform-field-label--type-sub {
    display: none !important;
}

#gform_wrapper_2 input[type="text"],
#gform_wrapper_2 input[type="email"] {
    width: 100% !important;
    height: 60px !important;
    padding: 15px !important;
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    font-size: 15px !important;
    color: #333333 !important;
}

#gform_wrapper_2 input::placeholder {
    color: #999999 !important;
    opacity: 1 !important;
    font-weight: 300 !important;
}

#gform_wrapper_2 .gform_footer {
    flex: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
}

#gform_wrapper_2 .gform_footer input.button {
    width: 100% !important;
    background-color: transparent !important;
    border: 1px solid #ffffff !important;
    color: #ffffff !important;
    height: 60px !important;
    padding: 0 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    font-weight: normal !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    margin: 0 !important;
}

#gform_wrapper_2 .gform_footer input.button:hover {
    background-color: #00b7b7 !important;
    color: #ffffff !important;
    border-color: #00b7b7 !important;
}

/* =========================================
   GRAVITY FORM 2 - MOBILE STACKING
   ========================================= */

@media only screen and (max-width: 767px) {
    /* Stack the main form wrapper */
    #gform_wrapper_2 form.gf_simple_horizontal {
        flex-direction: column !important;
    }
    
    /* Stack the individual fields and INCREASE GAP */
    #gform_wrapper_2 ul.gform_fields {
        flex-direction: column !important;
        gap: 25px !important; /* Increased from 15px */
    }

    /* Stack the First Name and Last Name inputs */
    #gform_wrapper_2 .gfield--type-name .ginput_complex {
        flex-direction: column !important;
        gap: 25px !important; /* Increased from 15px */
    }

    /* Add space above the button */
    #gform_wrapper_2 .gform_footer {
        margin-top: 25px !important; /* Increased from 15px */
    }
    
    /* Force all flex items to take up 100% of the mobile width */
    #gform_wrapper_2 .gfield--type-name,
    #gform_wrapper_2 .gfield--type-email,
    #gform_wrapper_2 .gform_footer,
    #gform_wrapper_2 .gfield--type-name .ginput_complex span {
        flex: 1 1 auto !important;
        width: 100% !important;
    }
}

/* =========================================
   PORTFOLIO GRID
   ========================================= */

.grid-entry {
    margin-bottom: 60px !important;
}

.grid-entry .inner-entry {
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.grid-entry .grid-content {
    display: contents !important;
}

.grid-entry .entry-content-header {
    order: 1 !important;
    text-align: left !important;
    margin-bottom: 15px !important;
    padding: 0 !important;
    width: 100%;
}

.grid-entry .grid-image {
    order: 2 !important;
    width: 100%;
    margin-bottom: 20px !important;
    border-radius: 0 !important;
}

.grid-entry .grid-entry-excerpt {
    order: 3 !important;
    padding: 0 !important;
    width: 100%;
    text-align: left !important;
}

/* NEW: Clamp only the text wrapper */
.grid-entry .grid-entry-excerpt .bvi-clamped-excerpt {
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    font-style: normal !important;
}

/* NEW: Keep link outside the clamp so it's always visible */
.bvi-custom-grid .slide-entry-excerpt .more-link {
    display: inline-block !important;
    padding: 10px 24px !important;
    margin: 20px 0 !important;
    background-color: #2997ab !important;
    border-color: #2997ab !important;
    color: #ffffff !important;
    border-radius: 4px;
    font-weight: 500;
    text-decoration: none !important;
    transition: all 0.3s ease;
}

.bvi-custom-grid .slide-entry-excerpt .more-link:hover {
    background-color: #004e82 !important;
    border-color: #004e82 !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}

/* Keep your existing title/grid styling below this line... */
.grid-entry .grid-content .grid-entry-title {
    margin: 0 !important;
}

.grid-entry .grid-content .grid-entry-title a {
    color: #4b749f !important;
    font-size: 36px !important;
    font-weight: 300 !important;
    text-decoration: none !important;
    text-transform: none !important;
}

.grid-entry .avia-arrow {
    display: none !important;
}

#top #av-sc-portfolio-1 .grid-entry .grid-entry-title {
    line-height: 1.05 !important;
    margin: 0 0 14px !important;
}

#top #av-sc-portfolio-1 .grid-entry .grid-entry-title a {
    display: block !important;
    line-height: 1.05 !important;
}

/* Recent projects grid variant remains unchanged */
.recent-projects-grid .grid-entry .grid-image { order: 1 !important; width: 100% !important; margin-bottom: 14px !important; }
.recent-projects-grid .grid-entry .grid-content { order: 2 !important; display: block !important; padding: 0 !important; text-align: center !important; background: transparent !important; }
.recent-projects-grid .grid-entry .entry-content-header, .recent-projects-grid .grid-entry .grid-entry-title { text-align: center !important; margin: 0 !important; padding: 0 !important; }
.recent-projects-grid .grid-entry .grid-entry-title a { color: #1f5e9e !important; font-size: 24px !important; line-height: 1.3 !important; font-weight: 300 !important; text-decoration: none !important; text-transform: none !important; }
.recent-projects-grid .grid-entry .grid-entry-title a:hover { color: #00b7b7 !important; }
.recent-projects-grid .grid-entry .grid-entry-excerpt { display: none !important; }

/* =========================================
   BLOG / POST GRID
   ========================================= */

.bvi-custom-grid .slide-entry-title a {
    color: #4b7b9b !important;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

.bvi-custom-grid .slide-entry-excerpt {
    font-size: 15px;
    line-height: 1.6;
    margin-top: 15px;
    font-style: normal !important;
}

.bvi-custom-grid .slide-entry-excerpt .more-link {
    display: inline-block !important;
    padding: 10px 24px;
    border-radius: 4px;
    text-transform: none;
    font-weight: 500;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
    transition: all 0.3s ease;
    font-style: normal !important;
}

.bvi-custom-grid .slide-entry-excerpt .more-link:hover {
    background-color: #004e82 !important;
    transform: translateY(-2px);
}

.bvi-custom-grid .slide-entry-excerpt .more-link-arrow {
    display: none !important;
}

.bvi-custom-grid .slide-content {
    padding-top: 20px;
}

.bvi-custom-grid .slide-image {
    display: block !important;
    overflow: hidden !important;
}

.bvi-custom-grid .slide-image img {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

#top .bvi-custom-grid .slide-entry {
    margin-bottom: 20px !important;
}

@media only screen and (max-width: 767px) {
    #top .bvi-custom-grid .slide-entry-wrap {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    #top .bvi-custom-grid .slide-entry {
        margin-bottom: 42px !important;
    }

    #top .bvi-custom-grid .slide-entry-excerpt .more-link {
        margin-bottom: 0 !important;
    }
}

/* Blog grid text area background */
#top .bvi-custom-grid .slide-content {
    background-color: #f9f9fa !important;
    padding: 20px !important;
    box-sizing: border-box;
}
/* =========================================
   TESTIMONIAL SLIDER
   ========================================= */

#top .bvi-fancy-testimonial-slider {
    width: 100% !important;
    max-width: 100% !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-row,
#top .bvi-fancy-testimonial-slider .avia-testimonial {
    width: 100% !important;
    max-width: 100% !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial_inner {
    position: relative !important;
    max-width: 1120px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 115px !important;
    box-sizing: border-box !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-content,
#top .bvi-fancy-testimonial-slider .avia-testimonial-markup-entry-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-content {
    max-width: 860px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 1.58 !important;
    text-align: center !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-content:before,
#top .bvi-fancy-testimonial-slider .avia-testimonial-content:after {
    content: none !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-markup-entry-content {
    max-width: none !important;
    width: 100% !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial_inner:before,
#top .bvi-fancy-testimonial-slider .avia-testimonial_inner:after {
    position: absolute !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 120px !important;
    line-height: 1 !important;
    color: #00B4B3 !important;
    opacity: 1 !important;
    font-weight: 700;
    pointer-events: none;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial_inner:before {
    content: "\201C";
    top: -8px;
    left: 30px !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial_inner:after {
    content: "\201D";
    right: 30px !important;
    bottom: 35px;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-arrow-wrap,
#top .bvi-fancy-testimonial-slider .avia-testimonial-meta .avia-arrow {
    display: none !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-meta {
    max-width: 860px !important;
    margin: 26px auto 0 !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-name {
    display: block !important;
    color: #1f5e9e !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
}

#top .bvi-fancy-testimonial-slider .avia-testimonial-subtitle {
    display: block !important;
    color: #1f5e9e !important;
    line-height: 1.3 !important;
    font-weight: 400 !important;
}

@media only screen and (max-width: 767px) {

    #top .bvi-fancy-testimonial-slider {
        position: relative !important;
        padding-top: 50px !important;
        overflow: visible !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-testimonial_inner {
        padding: 0 16px !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-testimonial_inner:before,
    #top .bvi-fancy-testimonial-slider .avia-testimonial_inner:after {
        display: none !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-slideshow-arrows {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: absolute !important;
        top: 4px !important;
        left: 0 !important;
        right: 0 !important;
        height: 40px !important;
        z-index: 999 !important;
        overflow: visible !important;
        pointer-events: none !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-slideshow-arrows a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        position: absolute !important;
        top: 0 !important;
        width: 40px !important;
        height: 40px !important;
        margin-top: 0 !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 1000 !important;
        pointer-events: auto !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-slideshow-arrows .prev-slide {
        left: auto !important;
        right: 54px !important;
    }

    #top .bvi-fancy-testimonial-slider .avia-slideshow-arrows .next-slide {
        left: auto !important;
        right: 12px !important;
    }
}

/* Move testimonial navigation below the testimonials */
#top .bvi-fancy-testimonial-slider {
    position: relative !important;
    padding-bottom: 55px !important;
    overflow: visible !important;
}

#top .bvi-fancy-testimonial-slider .avia-slideshow-arrows {
    display: block !important;
    position: absolute !important;
    top: auto !important;
    bottom: 5px !important;
    left: 50% !important;
    right: auto !important;
    width: 100px !important;
    height: 40px !important;
    transform: translateX(-50%) !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

#top .bvi-fancy-testimonial-slider .avia-slideshow-arrows a {
    position: absolute !important;
    top: 0 !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

#top .bvi-fancy-testimonial-slider .avia-slideshow-arrows .prev-slide {
    left: 0 !important;
    right: auto !important;
}

#top .bvi-fancy-testimonial-slider .avia-slideshow-arrows .next-slide {
    left: auto !important;
    right: 0 !important;
}
/* =========================================
   SHOP / PRODUCT CARDS
   ========================================= */

.bvi-product-layout .av-catalogue-sorting {
    display: none !important;
}

a.button.show_details_button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

.bvi-product-cards .products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

.bvi-product-cards .products .product {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    margin-bottom: 30px !important;
}

.bvi-product-cards .products .product .inner_product {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 6px !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08) !important;
    padding: 14px 20px 20px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    transition: all 0.3s ease !important;
}

.bvi-product-cards .products .product .inner_product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-3px) !important;
    border-color: #00b7b7 !important;
}

.bvi-product-cards .products .product .thumbnail_container {
    height: 210px !important;
    flex: 0 0 210px !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.bvi-product-cards .products .product .thumbnail_container img {
    max-width: 100% !important;
    max-height: 210px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.bvi-product-cards .products .product .inner_product_header {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}

.woocommerce-loop-product__title {
    margin: 0 0 6px !important;
    padding: 0 !important;
    color: #111111 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.25 !important;
    font-weight: 300 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.woocommerce-Price-currencySymbol {
    margin: 0 0 18px !important;
    color: #1E5E9E !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
}
.woocommerce-Price-amount  {
    display: block !important;
    margin: 0 0 18px !important;
    color: #1E5E9E !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
    padding-bottom:25px;
}
.bvi-product-cards .products .product .button,
.bvi-product-cards .products .product .add_to_cart_button {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #09b7b7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    transition: background-color 0.3s ease !important;
}

.bvi-product-cards .products .product .button:hover,
.bvi-product-cards .products .product .add_to_cart_button:hover {
    background-color: #1f5e9e !important;
}

.bvi-product-cards .products .product .avia-arrow,
.bvi-product-cards .products .product .show_details_wrap,
.bvi-product-cards .products .product .avia_cart_buttons::before,
.bvi-product-cards .products .product .avia_cart_buttons::after,
.bvi-product-cards .products .product .avia_cart_buttons *::before,
.bvi-product-cards .products .product .avia_cart_buttons *::after {
    display: none !important;
    border: none !important;
}

.bvi-product-cards .products .product .avia_cart_buttons {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}

#top.woocommerce-page ul.products li.product .inner_product,
#top.woocommerce-page ul.products li.product .inner_product_header,
#top.woocommerce-page ul.products li.product .inner_product_header_table,
#top.woocommerce-page ul.products li.product .inner_product_header_cell,
#top.woocommerce-page ul.products li.product h2,
#top.woocommerce-page ul.products li.product h3,
#top.woocommerce-page ul.products li.product .price {
    text-align: center !important;
}
/* Let first-row product hover border/shadow breathe */
#top.woocommerce-page ul.products,
.bvi-product-cards .products {
    padding-top: 8px !important;
    overflow: visible !important;
}

#top.woocommerce-page ul.products li.product,
.bvi-product-cards .products .product {
    overflow: visible !important;
}

#top.woocommerce-page ul.products li.product .inner_product,
.bvi-product-cards .products .product .inner_product {
    overflow: visible !important;
}

#top.woocommerce-page ul.products li.product .yith-ywraq-add-to-quote,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button,
#top.woocommerce-page ul.products li.product .yith_ywraq_add_item_browse_message {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#top.woocommerce-page ul.products li.product .add-request-quote-button,
#top.woocommerce-page ul.products li.product a.add-request-quote-button,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 185px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

#top.woocommerce-page ul.products li.product .inner_product,
#top.woocommerce-page ul.products li.product .inner_product_header,
#top.woocommerce-page ul.products li.product .inner_product_header_table,
#top.woocommerce-page ul.products li.product .inner_product_header_cell,
#top.woocommerce-page ul.products li.product h2,
#top.woocommerce-page ul.products li.product h3,
#top.woocommerce-page ul.products li.product .price {
    text-align: center !important;
}

#top.woocommerce-page ul.products li.product .yith-ywraq-add-to-quote,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button,
#top.woocommerce-page ul.products li.product .yith_ywraq_add_item_browse_message {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#top.woocommerce-page ul.products li.product .add-request-quote-button,
#top.woocommerce-page ul.products li.product a.add-request-quote-button,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button a.button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 185px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}
/* =========================================
   SINGLE PRODUCT PAGE
   ========================================= */

#top.single-product .container_wrap_first {
    background: #ffffff !important;
    border-top: 1px solid #eeeeee !important;
}

#top.single-product .container_wrap_first > .container {
    max-width: 1130px !important;
    padding-top: 58px !important;
    padding-bottom: 10px !important;
}

#top.single-product .container_wrap_first > .container > .product {
    display: grid !important;
    grid-template-columns: 52% 48% !important;
    column-gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
}

#top.single-product .single-product-main-image,
#top.single-product .single-product-summary,
#top.single-product .summary.entry-summary {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

#top.single-product .single-product-main-image {
    display: flex !important;
    justify-content: center !important;
}

#top.single-product .single-product-main-image .sidebar {
    display: none !important;
}

#top.single-product .single-product-summary {
    display: contents !important;
}

#top.single-product .summary.entry-summary {
    grid-column: 2 !important;
    max-width: none !important;
}

#top.single-product .bvi-product-breadcrumb {
    grid-column: 1 / -1 !important;
    margin: 0 0 28px !important;
    color: #6f7782 !important;
    font-size: 16px !important;
    line-height: 1.4 !important;
    text-align: left !important;
}

#top.single-product .bvi-product-breadcrumb a {
    color: #6f7782 !important;
    text-decoration: none !important;
}

#top.single-product .bvi-product-breadcrumb a:hover {
    color: #0f5f9f !important;
}

/* Product image */
#top.single-product .woocommerce-product-gallery {
    width: 100% !important;
    margin: 0 !important;
    opacity: 1 !important;
    position: relative !important;
}

#top.single-product .woocommerce-product-gallery__wrapper,
#top.single-product .woocommerce-product-gallery__wrapper a {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
}

#top.single-product .woocommerce-product-gallery__wrapper a {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
}

#top.single-product .woocommerce-product-gallery__wrapper img {
    width: min(100%, 600px) !important;
    max-width: 600px !important;
    max-height: 430px !important;
    height: auto !important;
    object-fit: contain !important;
    border: none !important;
    box-shadow: none !important;
}

#top.single-product .woocommerce-product-gallery:before,
#top.single-product .woocommerce-product-gallery:after {
    display: none !important;
}

/* Product summary */
#top.single-product .summary.entry-summary .product_title {
    margin: 0 0 18px !important;
    color: #0f5f9f !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 38px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

#top.single-product .summary.entry-summary .price,
#top.single-product .summary.entry-summary .price .amount,
#top.single-product .summary.entry-summary .price bdi,
#top.single-product .summary.entry-summary .price .woocommerce-Price-currencySymbol {
    color: #2997ab !important;
    font-size: 25px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
}

#top.single-product .summary.entry-summary .price {
    margin: 0 0 30px !important;
}

#top.single-product .summary.entry-summary .stock {
    margin: 20px 0 0 !important;
    color: #9a8700 !important;
    font-size: 17px !important;
    line-height: 1.4 !important;
}

#top.single-product .summary.entry-summary form.cart {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 22px 0 0 !important;
}
#top.single-product .summary.entry-summary .quantity {
    display: flex !important;
    align-items: stretch !important;
    width: 130px !important;
    height: 47px !important;
    margin: 0 !important;
    padding: 0 !important;
}
#top.single-product .summary.entry-summary .quantity .minus,
#top.single-product .summary.entry-summary .quantity .plus {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: static !important;
    float: none !important;
    width: 42px !important;
    height: 47px !important;
    min-height: 47px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #d5d5d5 !important;
    background: #f3f3f3 !important;
    color: #0f5f9f !important;
    font-size: 16px !important;
    line-height: 47px !important;
    cursor: pointer !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

#top.single-product .summary.entry-summary .quantity input.qty {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 46px !important;
    height: 47px !important;
    min-height: 47px !important;
    margin: 0 -1px !important;
    padding: 0 !important;
    border: 1px solid #d5d5d5 !important;
    background: #ffffff !important;
    color: #777777 !important;
    font-size: 17px !important;
    line-height: 47px !important;
    text-align: center !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

#top.single-product .summary.entry-summary form.cart .single_add_to_cart_button,
.single-product div.product .summary .cart .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 183px !important;
    height: 47px !important;
    padding: 0 28px !important;
    margin: 0 !important;
    background: #0066b4 !important;
    border: 1px solid #0066b4 !important;
    border-radius: 2px !important;
    color: #ffffff !important;
    font-size: 18px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: none !important;
    transition: all 0.3s ease !important;
}
#top.single-product .summary.entry-summary form.cart .single_add_to_cart_button:hover,
.single-product div.product .summary .cart .button:hover {
    background: #044a80 !important;
    border-color: #044a80 !important;
    color: #ffffff !important;
}
#top.single-product .summary.entry-summary .product_meta {
    display: none !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
    color: #155da0 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

#top.single-product .summary.entry-summary .product_meta span {
    display: inline !important;
    color: #155da0 !important;
}

#top.single-product .summary.entry-summary .product_meta a {
    color: #00aeb4 !important;
    text-decoration: none !important;
}

#top.single-product .summary.entry-summary .product_meta a:hover {
    color: #155da0 !important;
    text-decoration: underline !important;
}

#top.single-product .summary.entry-summary .sku_wrapper,
#top.single-product .summary.entry-summary .posted_in {
    margin-right: 4px !important;
}

/* Product tabs */
#top.single-product .woocommerce-tabs {
    grid-column: 1 / -1 !important;
    clear: both !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 30px !important;
    overflow: visible !important;
}

#top.single-product .woocommerce-tabs ul.tabs {
    width: 100% !important;
    display: flex !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 1px solid #cfc9dc !important;
    overflow: visible !important;
}

#top.single-product .woocommerce-tabs ul.tabs li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    white-space: nowrap !important;
    border: 1px solid #cfc9dc !important;
    border-bottom: none !important;
    background: #f1f0f6 !important;
}

#top.single-product .woocommerce-tabs ul.tabs li.active {
    background: #ffffff !important;
}

#top.single-product .woocommerce-tabs ul.tabs li a {
    display: block !important;
    padding: 12px 18px !important;
    color: #333333 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

#top.single-product .woocommerce-tabs .wc-tab,
#top.single-product .woocommerce-tabs .panel {
    display: none !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 58px 70px 38px 34px !important;
    border: none !important;
    background: transparent !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

#top.single-product .woocommerce-tabs #tab-description,
#top.single-product .woocommerce-tabs #tab-additional_information,
#top.single-product .woocommerce-tabs #tab-reviews {
    display: none !important;
    width: 100% !important;
    max-width: 100% !important;
}

#top.single-product .woocommerce-tabs:has(.description_tab.active) #tab-description,
#top.single-product .woocommerce-tabs:has(.additional_information_tab.active) #tab-additional_information,
#top.single-product .woocommerce-tabs:has(.reviews_tab.active) #tab-reviews,
#top.single-product .woocommerce-tabs .wc-tab[style*="display: block"],
#top.single-product .woocommerce-tabs .panel[style*="display: block"] {
    display: block !important;
}

#top.single-product .woocommerce-tabs .wc-tab h2,
#top.single-product .woocommerce-tabs .panel h2,
#top.single-product #tab-description h2,
#top.single-product #tab-additional_information h2,
#top.single-product #tab-reviews h2,
#top.single-product .woocommerce-Reviews-title {
    margin: 20px 0 22px !important;
    padding: 0 !important;
    color: #0f5f9f !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 28px !important;
    line-height: 1.25 !important;
    font-weight: 100 !important;
    text-transform: none !important;
}

#top.single-product .woocommerce-tabs .wc-tab p,
#top.single-product .woocommerce-tabs .panel p {
    margin-top: 0 !important;
    color: #222222 !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    text-transform: uppercase !important;
}

#top.single-product #tab-description p {
    max-width: 960px !important;
}

@media only screen and (max-width: 900px) {
    #top.single-product .container_wrap_first > .container > .product {
        display: block !important;
    }

    #top.single-product .single-product-summary {
        display: block !important;
    }

    #top.single-product .summary.entry-summary {
        margin-top: 24px !important;
    }

    #top.single-product .woocommerce-tabs {
        margin-top: 26px !important;
    }

    #top.single-product .woocommerce-tabs ul.tabs {
        flex-wrap: wrap !important;
    }
}

@media only screen and (max-width: 767px) {
    #top.single-product .container_wrap_first > .container {
        padding-top: 28px !important;
        padding-bottom: 10px !important;
    }

    #top.single-product .woocommerce-product-gallery__wrapper a {
        display: block !important;
        min-height: 0 !important;
        height: auto !important;
        padding-top: 0 !important;
    }

    #top.single-product .woocommerce-product-gallery__wrapper img {
        width: auto !important;
        max-width: 86% !important;
        max-height: 360px !important;
        margin: 0 auto !important;
        display: block !important;
    }

    #top.single-product .woocommerce-tabs ul.tabs {
        margin-bottom: 20px !important;
    }

    #top.single-product .woocommerce-tabs .wc-tab,
    #top.single-product .woocommerce-tabs .panel {
        padding: 42px 24px 30px !important;
    }

    #top.single-product .woocommerce-tabs .wc-tab h2,
    #top.single-product .woocommerce-tabs .panel h2,
    #top.single-product #tab-description h2,
    #top.single-product #tab-additional_information h2,
    #top.single-product #tab-reviews h2,
    #top.single-product .woocommerce-Reviews-title {
        font-size: 25px !important;
    }
}

/* Hide Add to Cart on single product pages */
#top.single-product .summary.entry-summary form.cart
button.single_add_to_cart_button,
body.single-product form.cart
button[name="add-to-cart"].single_add_to_cart_button {
    display: none !important;
}

/* Bold YITH Add to Quote */
#top .yith-ywraq-add-to-quote .add-request-quote-button {
    font-weight: 700 !important;
    font-size:18px;
}
/* =========================================
   RELATED PRODUCTS
   ========================================= */

.single-product section.related.products {
    margin-top: 20px !important;
    padding: 0 !important;
}

.single-product section.related.products > h2 {
    margin: 0 0 22px !important;
    padding: 0 !important;
    color: #1f5e9e !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 30px !important;
    line-height: 1.2 !important;
    font-weight: 300 !important;
    text-align: left !important;
    text-transform: none !important;
}

.single-product section.related.products ul.products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 28px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.single-product section.related.products ul.products li.product {
    float: none !important;
    clear: none !important;
    width: calc(33.333% - 19px) !important;
    margin: 0 0 28px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}

.single-product section.related.products .inner_product {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 6px !important;
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.08) !important;
    padding: 20px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    height: 100% !important;
    min-height: 400px !important;
}

.single-product section.related.products .inner_product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-3px) !important;
    border-color: #00b7b7 !important;
}

.single-product section.related.products .woocommerce-LoopProduct-link {
    display: flex !important;
    flex-direction: column !important;
    color: inherit !important;
    text-decoration: none !important;
}

.single-product section.related.products .thumbnail_container {
    height: 220px !important;
    flex: 0 0 220px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.single-product section.related.products .thumbnail_container img {
    max-width: 100% !important;
    max-height: 220px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

.single-product section.related.products .inner_product_header,
.single-product section.related.products .inner_product_header_table,
.single-product section.related.products .inner_product_header_cell {
    display: block !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    vertical-align: top !important;
}

.single-product section.related.products h2.woocommerce-loop-product__title {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #111111 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
}

.single-product section.related.products .price {
    display: block !important;
    margin: 0 0 26px !important;
    color: #155da0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
}

.single-product section.related.products .avia_cart_buttons {
    display: block !important;
    margin: auto 0 0 !important;
    padding: 0 !important;
    border: none !important;
}

.single-product section.related.products .add_to_cart_button,
.single-product section.related.products .product_type_simple,
.single-product section.related.products .button {
    display: block !important;
    width: 100% !important;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 !important;
    margin: 0 !important;
    background-color: #09b7b7 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
}

.single-product section.related.products .add_to_cart_button:hover,
.single-product section.related.products .product_type_simple:hover,
.single-product section.related.products .button:hover {
    background-color: #1f5e9e !important;
    color: #ffffff !important;
}
.single-product section.related.products .avia-arrow,
.single-product section.related.products .show_details_button,
.single-product section.related.products .button-mini-delimiter,
.single-product section.related.products .cart-loading {
    display: none !important;
}

.single-product section.related.products ul.products li.product:nth-child(n+4) {
    display: none !important;
}

@media only screen and (max-width: 989px) {
    .single-product section.related.products ul.products li.product {
        width: calc(50% - 14px) !important;
    }
}

@media only screen and (max-width: 600px) {
    .single-product section.related.products ul.products {
        gap: 22px !important;
    }

    .single-product section.related.products ul.products li.product {
        width: 100% !important;
    }

    .single-product section.related.products .inner_product {
        min-height: 0 !important;
    }
}

/* Horizontal Gallery - mobile fixed height */
@media only screen and (max-width: 767px) {
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        overflow: hidden !important;
    }

    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-inner {
        padding-bottom: 220px !important;
    }

    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-wrap,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-link,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-img {
        height: 220px !important;
        min-height: 220px !important;
    }

    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-img {
        transform: translate(0, 0) !important;
        background-size: cover !important;
        background-position: center center !important;
    }
}

/* Mobile Horizontal Gallery - force taller image area */
@media only screen and (max-width: 767px) {
    #top .bvi-team-horizontal-gallery,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery,
    #top .bvi-team-horizontal-gallery .av-horizontal-gallery {
        height: 230px !important;
        min-height: 230px !important;
        max-height: none !important;
        overflow: hidden !important;
    }

    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-inner,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-inner {
        height: 230px !important;
        min-height: 230px !important;
        max-height: none !important;
        padding-bottom: 0 !important;
    }

    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-slider,
    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-wrap,
    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-link,
    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-img,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-slider,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-wrap,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-link,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-img {
        height: 230px !important;
        min-height: 230px !important;
        max-height: none !important;
    }

    #top .bvi-team-horizontal-gallery .av-horizontal-gallery-img,
    #top .bvi-team-horizontal-gallery.av-horizontal-gallery .av-horizontal-gallery-img {
        background-size: cover !important;
        background-position: center center !important;
        transform: none !important;
    }
}


@media only screen and (max-width: 767px) {
    #top .av-horizontal-gallery-inner {
        height: 400px !important;
        min-height: 400px !important;
        padding-bottom: 0 !important;
    }

    #top .av-horizontal-gallery-slider,
    #top .av-horizontal-gallery-wrap,
    #top .av-horizontal-gallery-link,
    #top .av-horizontal-gallery-img {
        height: 400px !important;
        min-height: 400px !important;
    }
}


/* =========================================
   ENFOLD MOBILE FLYOUT - FORCED LEFT & OUTSIDE 'X'
   ========================================= */

/* 1. Force panel to the left side and make it white */
.html_av-overlay-side .av-burger-overlay-scroll {
    right: auto !important;
    left: 0 !important;
    background: #ffffff !important; 
    width: 250px !important; /* Matches your theme setting */
    min-width: 0 !important; /* OVERRIDES ENFOLD'S DEFAULT 300PX MINIMUM */
    max-width: 85vw !important; /* Keeps it responsive on tiny screens */
    transform: translateX(-100%); /* Starts hidden off the left edge */
}

/* 2. Slide it in from the left when active */
.html_av-burger-overlay-active.html_av-overlay-side .av-burger-overlay-scroll {
    transform: translateX(0) !important;
}

/* 3. Create the dark blue overlay behind the menu */
.html_av-overlay-side .av-burger-overlay-bg {
    background-color: #062f57 !important; 
    opacity: 0.8 !important; /* Adjust 0.1 to 1.0 for darkness */
}

/* 4. Menu Items Text & Alignment */
#top #av-burger-menu-ul {
    padding-top: 20px !important;
}

#top #av-burger-menu-ul li {
    text-align: left !important;
}

#top #av-burger-menu-ul li a {
    color: #1a426b !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    padding: 15px 30px !important;
    border: none !important;
}

#top #av-burger-menu-ul li a:hover {
    color: #00B4B4 !important;
    background-color: #fafafa !important;
}

/* 5. Fix Sub-menu Indentation (The Blue Bungalow) */
#top #av-burger-menu-ul ul.sub-menu {
    padding: 0 !important;
    margin: 0 !important;
}

#top #av-burger-menu-ul ul.sub-menu li a {
    padding: 12px 30px 12px 45px !important; /* 45px left padding pushes it right */
    font-size: 14px !important;
}

/* =========================================
   FIXED ENFOLD 'X' CLOSE BUTTON (INSIDE WHITE PANEL)
   ========================================= */

/* 1. Ensure the header wrapper stays on top */
html.html_av-burger-overlay-active #wrap_all #header,
html.av-burger-overlay-active #wrap_all #header {
    z-index: 999999 !important;
}

/* 2. Position the 'X' inside the top right of the 250px white panel */
html.html_av-burger-overlay-active #top .av-burger-menu-main,
html.av-burger-overlay-active #top .av-burger-menu-main {
    position: fixed !important;
    top: 25px !important; 
    left: 200px !important; /* Placed inside the 250px white area */
    right: auto !important; 
    margin: 0 !important;
    transform: none !important; 
    z-index: 999999 !important;
    display: block !important;
    width: 40px !important;
    height: 40px !important;
}

/* 3. Hide the "MENU" text ONLY when the menu is open */
html.html_av-burger-overlay-active #top .av-burger-menu-main a strong,
html.html_av-burger-overlay-active #top .av-burger-menu-main a .avia_hidden_link_text,
html.av-burger-overlay-active #top .av-burger-menu-main a strong,
html.av-burger-overlay-active #top .av-burger-menu-main a .avia_hidden_link_text {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    width: 0 !important;
}

/* 4. Make the 'X' lines DARK BLUE since they are now on a white background */
html.html_av-burger-overlay-active #top .av-hamburger-inner::before, 
html.html_av-burger-overlay-active #top .av-hamburger-inner::after,
html.av-burger-overlay-active #top .av-hamburger-inner::before, 
html.av-burger-overlay-active #top .av-hamburger-inner::after {
    background-color: #1a426b !important; 
}

/* 5. Ensure the middle line STAYS transparent so it forms an X */
html.html_av-burger-overlay-active #top .av-hamburger-inner,
html.av-burger-overlay-active #top .av-hamburger-inner {
    background-color: transparent !important;
}

/* 6. Ensure the icon itself retains its physical size */
html.html_av-burger-overlay-active #top .av-hamburger,
html.av-burger-overlay-active #top .av-hamburger {
    display: block !important;
    width: 30px !important;
    height: 24px !important;
}

/* Mobile Hero Image Scaling */
.mobile-hero-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

/* 2-Column Square Mobile Grid for Enfold Partner Slider */
@media only screen and (max-width: 767px) {

    #top #wrap_all .avia-logo-element-container.av-bvi-team-slider {
        position: relative !important;
        width: calc(100% - 36px) !important;
        max-width: 350px !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-smallarrow-slider-heading {
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: visible !important;
    }

    #top #wrap_all .av-bvi-team-slider .new-special-heading {
        display: none !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-content-slider-inner {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    #top #wrap_all .av-bvi-team-slider .slide-entry-wrap {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 16px !important;
        width: 100% !important;
        margin: 0 !important;
        overflow: visible !important;
    }

    #top #wrap_all .av-bvi-team-slider .slide-entry,
    #top #wrap_all .av-bvi-team-slider .slide-entry.av_one_half {
        float: none !important;
        clear: none !important;
        width: calc((100% - 16px) / 2) !important;
        min-width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
        flex: 0 0 calc((100% - 16px) / 2) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #top #wrap_all .av-bvi-team-slider .av-partner-fake-img {
        display: block !important;
        width: 100% !important;
        height: 0 !important;
        padding-bottom: 100% !important;
        background-size: cover !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-slideshow-arrows {
        position: absolute !important;
        top: 50% !important;
        left: 0 !important;
        right: auto !important;
        width: 100% !important;
        height: 0 !important;
        z-index: 30 !important;
        overflow: visible !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-slideshow-arrows a {
        position: absolute !important;
        top: -12px !important;
        margin: 0 !important;
        width: 24px !important;
        height: 24px !important;
        line-height: 24px !important;
        border-radius: 50% !important;
        background: #1f64a3 !important;
        color: #ffffff !important;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 31 !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-slideshow-arrows .prev-slide {
        left: -10px !important;
        right: auto !important;
    }

    #top #wrap_all .av-bvi-team-slider .avia-slideshow-arrows .next-slide {
        left: auto !important;
        right: -10px !important;
    }
    
}
/* WooCommerce Blocks checkout field label overlap fix */

/* Hide active floating labels so they cannot overlap entered values */
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input.is-active label,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input.has-value label,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input:-webkit-autofill + label,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox label.components-base-control__label,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox-control label,
#top.woocommerce-checkout .wc-block-checkout .components-combobox-control label,
#top.woocommerce-checkout .wc-block-checkout label[for*="country"],
#top.woocommerce-checkout .wc-block-checkout label[for*="state"] {
    display: none !important;
}

/* Normalize fields once labels are hidden */
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input.is-active input,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input.has-value input,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox input,
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox-control input,
#top.woocommerce-checkout .wc-block-checkout .components-combobox-control__input {
    height: 50px !important;
    min-height: 50px !important;
    padding: 0 46px 0 10px !important;
    line-height: 50px !important;
    font-size: 16px !important;
    transform: none !important;
}

/* Keep empty normal text fields looking like placeholders */
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input:not(.is-active):not(.has-value) input {
    height: 50px !important;
    min-height: 50px !important;
}

/* Keep dropdown arrow centered */
#top.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox-control button,
#top.woocommerce-checkout .wc-block-checkout .components-combobox-control button {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

/* Sequential bottom-to-top column animation */
.resources,
.design,
.develop {
    opacity: 0;
    transform: translateY(60px);
    animation: column-rise 0.8s ease-out forwards;
}

.resources {
    animation-delay: 0s;
}

.design {
    animation-delay: 0.8s;
}

.develop {
    animation-delay: 1.6s;
}

@keyframes column-rise {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
    .resources,
    .design,
    .develop {
        opacity: 1;
        transform: none;
        animation: none;
    }
}

/* =========================================
   CUSTOM SOCIAL ICON ROW
   ========================================= */

#top .custom-social-icon-row .custom-social-icon {
    display: inline-flex !important;
    flex: 0 0 var(--social-icon-size, 36px) !important;
    align-items: center !important;
    justify-content: center !important;
    width: var(--social-icon-size, 36px) !important;
    height: var(--social-icon-size, 36px) !important;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    box-sizing: border-box !important;
    transition: color .2s ease !important;
}

#top .custom-social-icon-row .custom-social-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    fill: currentColor !important;
    overflow: visible !important;
}

#top .custom-social-icon-row .custom-social-icon:hover {
    color: var(--social-icon-hover-color, #0b3f73) !important;
}

#top #av-sc-portfolio-1 .grid-entry-excerpt.entry-content a.more-link {
    font-size: 16px !important;
    line-height: 1.3 !important;
}

/* =========================================
   FLOATING QUOTE ICON
   ========================================= */

#bvi-quote-floating-link {
    display: none;
}

body.bvi-quote-has-items #bvi-quote-floating-link {
    position: fixed;
    top: 92px;
    right: 24px;
    z-index: 9999;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #003b5c;
    background: #ffffff;
    border-radius: 999px;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.16);
    text-decoration: none;
}

.admin-bar.bvi-quote-has-items #bvi-quote-floating-link {
    top: 124px;
}

#bvi-quote-floating-link svg {
    width: 36px;
    height: 40px;
    fill: currentColor;
}

#bvi-quote-floating-count {
    position: absolute;
    top: -9px;
    right: -9px;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border-radius: 999px;
    background: #0bb7bd;
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 24px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

/* =========================================
   SHOP / PRODUCT CARDS
   ========================================= */

.bvi-product-layout .av-catalogue-sorting {
    display: none !important;
}

a.button.show_details_button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
}

#top.woocommerce-page ul.products,
.bvi-product-cards .products {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
}

#top.woocommerce-page ul.products li.product,
.bvi-product-cards .products .product {
    display: flex !important;
    flex-direction: column !important;
    float: none !important;
    margin-bottom: 30px !important;
}

#top.woocommerce-page ul.products li.product .inner_product,
.bvi-product-cards .products .product .inner_product {
    background: #ffffff !important;
    border: 1px solid #dddddd !important;
    border-radius: 7px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.10) !important;
    overflow: hidden !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    transition: all 0.3s ease !important;
}

#top.woocommerce-page ul.products li.product .inner_product:hover,
.bvi-product-cards .products .product .inner_product:hover {
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12) !important;
    transform: translateY(-3px) !important;
    border-color: #00b7b7 !important;
}

#top.woocommerce-page ul.products li.product .thumbnail_container,
.bvi-product-cards .products .product .thumbnail_container {
    height: 245px !important;
    flex: 0 0 245px !important;
    margin: 0 !important;
    padding: 22px 24px 10px !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#top.woocommerce-page ul.products li.product .thumbnail_container img,
.bvi-product-cards .products .product .thumbnail_container img {
    max-width: 100% !important;
    max-height: 225px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

#top.woocommerce-page ul.products li.product .inner_product_header,
.bvi-product-cards .products .product .inner_product_header {
    background: transparent !important;
    border: none !important;
    margin: 0 !important;
    padding: 14px 24px 0 !important;
    display: block !important;
    text-align: center !important;
}

#top.woocommerce-page ul.products li.product h2,
#top.woocommerce-page ul.products li.product h3,
.bvi-product-cards .products .product h2.woocommerce-loop-product__title,
.bvi-product-cards .products .product .inner_product_header h3 {
    margin: 0 auto 6px !important;
    padding: 0 !important;
    color: #071f35 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

#top.woocommerce-page ul.products li.product .price,
.bvi-product-cards .products .product .price {
    display: block !important;
    margin: 0 auto 18px !important;
    color: #155da0 !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    text-align: center !important;
}

/* Hide Enfold's secondary details button/arrow */
#top.woocommerce-page ul.products li.product .avia-arrow,
#top.woocommerce-page ul.products li.product .show_details_wrap,
#top.woocommerce-page ul.products li.product .show_details_button,
#top.woocommerce-page ul.products li.product .avia_cart_buttons::before,
#top.woocommerce-page ul.products li.product .avia_cart_buttons::after,
#top.woocommerce-page ul.products li.product .avia_cart_buttons *::before,
#top.woocommerce-page ul.products li.product .avia_cart_buttons *::after,
.bvi-product-cards .products .product .avia-arrow,
.bvi-product-cards .products .product .show_details_wrap,
.bvi-product-cards .products .product .show_details_button,
.bvi-product-cards .products .product .avia_cart_buttons::before,
.bvi-product-cards .products .product .avia_cart_buttons::after,
.bvi-product-cards .products .product .avia_cart_buttons *::before,
.bvi-product-cards .products .product .avia_cart_buttons *::after {
    display: none !important;
    border: none !important;
}

#top.woocommerce-page ul.products li.product .avia_cart_buttons,
.bvi-product-cards .products .product .avia_cart_buttons {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 22px 22px !important;
    border: none !important;
    text-align: center !important;
}

/* YITH quote area */
#top.woocommerce-page ul.products li.product .yith-ywraq-add-to-quote,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button,
.bvi-product-cards .products .product .yith-ywraq-add-to-quote,
.bvi-product-cards .products .product .yith-ywraq-add-button {
    width: 100% !important;
    padding: 0 22px 22px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

#top.woocommerce-page ul.products li.product .button,
#top.woocommerce-page ul.products li.product .add-request-quote-button,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button a.button,
.bvi-product-cards .products .product .button,
.bvi-product-cards .products .product .add-request-quote-button,
.bvi-product-cards .products .product .yith-ywraq-add-button a.button {
    width: 100% !important;
    max-width: 250px !important;
    min-height: 38px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
    background: #0bb7bd !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 7px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0 !important;
    line-height: 38px !important;
    text-align: center !important;
    transition: background-color 0.3s ease !important;
}

#top.woocommerce-page ul.products li.product .button:hover,
#top.woocommerce-page ul.products li.product .add-request-quote-button:hover,
#top.woocommerce-page ul.products li.product .yith-ywraq-add-button a.button:hover,
.bvi-product-cards .products .product .button:hover,
.bvi-product-cards .products .product .add-request-quote-button:hover,
.bvi-product-cards .products .product .yith-ywraq-add-button a.button:hover {
    background-color: #1f5e9e !important;
}

/* Hide a specific category from YITH checkbox list */
li.term-item-123 {
    display: none !important;
}

.bvi-contact-list p {
    margin: 0 0 5px;
}

.bvi-contact-icon {
    display: inline-flex;
    width: 22px;
    height: 18px;
    align-items: center;
    justify-content: center;
    margin-right: 3px;
    vertical-align: middle;
}

.bvi-contact-icon svg {
    width: 16px;
    height: 16px;
    fill: #1f5e9e;
}

.bvi-contact-list a {
    color: inherit;
    text-decoration: none;
}

.bvi-contact-list a:hover {
    color: #0bb7bd;
}

/* Desktop quote table thumbnail */
#top #yith-ywrq-table-list td.product-thumbnail {
    width: 300px;
}

#top #yith-ywrq-table-list td.product-thumbnail img {
    width: 300px;
    max-width: 300px;
    height: auto;
}

/* Mobile quote table layout */
@media only screen and (max-width: 767px) {
    #top #yith-ywrq-table-list thead {
        display: none !important;
    }

    #top #yith-ywrq-table-list,
    #top #yith-ywrq-table-list tbody,
    #top #yith-ywrq-table-list tr.cart_item {
        display: block !important;
        width: 100% !important;
    }

    #top #yith-ywrq-table-list tr.cart_item {
        display: grid !important;
        grid-template-columns: 24px 80px minmax(0, 1fr) 76px;
        gap: 10px;
        align-items: center;
    }

    #top #yith-ywrq-table-list tr.cart_item > td {
        display: block !important;
        width: auto !important;
        padding: 12px 0 !important;
        border: 0 !important;
    }

    #top #yith-ywrq-table-list td.product-remove {
        grid-column: 1;
    }

    #top #yith-ywrq-table-list td.product-thumbnail {
        grid-column: 2;
        max-width: 80px !important;
    }

    #top #yith-ywrq-table-list td.product-thumbnail img {
        width: 64px !important;
        max-width: 64px !important;
        height: auto !important;
    }

    #top #yith-ywrq-table-list td.product-name {
        grid-column: 3;
        min-width: 0;
    }

    /* Hide duplicate desktop price column */
    #top #yith-ywrq-table-list td.product-price {
        display: none !important;
    }

    /* Keep the price inside product-name */
    #top #yith-ywrq-table-list .mobile-price {
        display: block !important;
    }

    #top #yith-ywrq-table-list td.product-quantity {
        grid-column: 4;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        min-width: 76px !important;
    }

    #top #yith-ywrq-table-list td.product-quantity .quantity,
    #top #yith-ywrq-table-list td.product-quantity input.qty {
        display: block !important;
        visibility: visible !important;
    }

    #top #yith-ywrq-table-list td.product-quantity input.qty {
        width: 64px !important;
        height: 48px;
        text-align: center;
    }
    
     /* Hide duplicate desktop price column */
    html.responsive #top .woocommerce #yith-ywraq-form table.shop_table.cart td.product-price {
        display: none !important;
        visibility: hidden !important;
    }

    /* Force the visible cells onto one row */
    #top #yith-ywrq-table-list tr.cart_item {
        display: grid !important;
        grid-template-columns: 24px 72px minmax(0, 1fr) 68px;
        column-gap: 10px;
        align-items: center;
    }

    #top #yith-ywrq-table-list td.product-remove,
    #top #yith-ywrq-table-list td.product-thumbnail,
    #top #yith-ywrq-table-list td.product-name,
    #top #yith-ywrq-table-list td.product-quantity {
        grid-row: 1 !important;
    }

    #top #yith-ywrq-table-list td.product-name {
        text-align: left !important;
    }

    #top #yith-ywrq-table-list td.product-quantity {
        grid-column: 4 !important;
        justify-self: end;
        align-self: center;
        padding: 0 !important;
    }

    #top #yith-ywrq-table-list td.product-quantity input.qty {
        width: 56px !important;
        height: 42px !important;
        text-align: center;
    }
}
