/*
Theme Name:     Hello-elementor-child
Theme URI:      
Description:    Hello-elementor child theme.
Author:         Me
Author URI:     
Template:       hello-elementor
Version:        0.1.0
*/

:root {
    --padding-lg: 6%;
    --padding-md: 4%;
    --padding-sm: 2%;
}
@media (max-width: 767px) {
    :root {
        --padding-lg: 50px;
        --padding-md: 50px;
        --padding-sm: 50px;
    }
}


/** Layout */
.section-lg {
    padding-left: 80px !important;
    padding-right: 80px !important;
}

@media (max-width: 1024px) {
    .section-lg {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}
@media (max-width: 767px) {
    .section-lg {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}


/** Padding */
/* LG */
.padding-y-lg {
    padding-top: var(--padding-lg) !important;
    padding-bottom: var(--padding-lg) !important;
}
.padding-top-lg {
    padding-top: var(--padding-lg) !important;
}
.padding-btm-lg {
    padding-bottom: var(--padding-lg) !important;
}

/* MD */
.padding-y-md {
    padding-top: var(--padding-md) !important;
    padding-bottom: var(--padding-md) !important;
}
.padding-top-md {
    padding-top: var(--padding-md) !important;
}
.padding-btm-md {
    padding-bottom: var(--padding-md) !important;
}

/* SM */
.padding-y-sm {
    padding-top: var(--padding-sm) !important;
    padding-bottom: var(--padding-sm) !important;
}
.padding-top-sm {
    padding-top: var(--padding-sm) !important;
}
.padding-btm-sm {
    padding-bottom: var(--padding-sm) !important;
}



/** Scroll Margin on Anchor Links */
html :target {
    scroll-margin-top: 100px;
}

/** Main */
/* Padding to push main out from under the header */
body {
    padding-top: 111px;
}
@media (max-width: 1024px) {
    body {
        padding-top: 86px;
    }
}


/** Text */
/* Lists */
.list-no-padding ul { /* This aligns the bullets with edge of text */
    padding-left: 13px;
}
.list-no-padding ul li {
    padding-bottom: 2px;
}


/** Links */
html body p a,
html body span a {
    color: #d00000;
}
html body p a:hover,
html body span a:hover {
    filter: saturate(5);
}


/** Buttons */
/* Red solid button */
.elementor-button-red-solid > a,
.elementor-button-red-solid button:not(.show-password-input),
.elementor-button-red-solid input[type="submit"],
.elementor-button-red-solid a.checkout-button.button.alt.wc-forward,
.wp-block-buttons .wp-block-button .wp-element-button {
    padding: 1em 1.5em !important;
    min-width: 200px;
    font-size: 16px;
    font-weight: 700 !important;
    text-transform: uppercase;
    line-height: 27.2px;
    letter-spacing: 1px;
    text-decoration: none !important;
    color: #ffffff !important;
    background-color: #d00000 !important;
    border-radius: 0 !important;
    border: unset !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
    transition: all 0.3s cubic-bezier(.25, .8, .25, 1);
}
.elementor-button-red-solid > a:hover,
.elementor-button-red-solid button:hover,
.elementor-button-red-solid input[type="submit"]:hover,
.elementor-button-red-solid a.checkout-button.button.alt.wc-forward:hover,
.wp-block-buttons .wp-block-button .wp-element-button:hover {
    color: #000000 !important;
    filter: saturate(5);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    -webkit-transform: translateY(-2px);
    transform: translateY(-2px);
}

/* Red skeleton button */
.elementor-button-red-skeleton a {
    display: flex;
    width: fit-content;
    padding: 0.5em 0.75em;
    margin-top: .5rem;
    line-height: 1.7em;
    text-decoration: none !important;
    text-transform: uppercase;
    color: #d00000 !important;
    background-color: transparent !important;
    border: 1px solid #d00000 !important;
    border-radius: 0;
}
.elementor-button-red-skeleton a::after{
    content: url('images/chevron-right-solid.svg') !important;
    position: relative;
    top: 3px;
    width: 18px;
    padding-left: .5em;
}
.elementor-button-red-skeleton a:hover {
    filter: saturate(5);
}

/* Link Saturate */
.link-saturate a:hover {
    filter: saturate(5);
}



/** Header */
/* Primary Menu */
.header-desktop {
    display: flex !important;
}
.header-mobile {
    display: none !important;
}
.primary-nav .e-con-inner {
    max-width: 100vw !important;
}
.dropdown-nav-products a.elementor-item {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}
.dropdown-nav-products a.elementor-item:hover {
    text-decoration: underline;
}

@media (max-width:1222px) {
    .header-desktop {
        display: none !important;
    }
    .header-mobile {
        display: flex !important;
    }
    .mobile-primary-nav nav {
        max-height: calc(100vh - 103px) !important;
        overflow-y: auto !important;
        padding: 0 0 100px; 
    }
    .mobile-primary-nav a {
        text-decoration: none;
    }
    .mobile-primary-nav ul li ul li a {
        font-weight: 500 !important;
    }
    .mobile-primary-nav ul li a .sub-arrow {
        padding: 10px;
    }
    .mobile-primary-nav ul li a[aria-expanded="true"] .sub-arrow {
        transform: rotate(180deg);
    }
}
/* Homepage Products Banner */
#homepage-products-banner { /* Ensure banner is hidden by default to prevent "flicker" */
    display: none;
}
#homepage-products-banner nav a {
    justify-content: center;
}
#homepage-products-banner nav a:hover {
    text-decoration: underline;
}
/* Hide Products Banner when Primary Nav dropdowns or search field are open */
header:has(.e-n-menu-content.e-active) #homepage-products-banner,
header:has(.e-off-canvas[aria-hidden="false"]) #homepage-products-banner {
    display: none !important;

}

/* Cart */
.header-cart:hover svg {
    fill: #706E6E !important;
}
.header-cart:hover .custom-cart-count {
    color: #706E6E;
}
.header-cart .custom-cart-count {
    color: white;
}
/* Gtranslate */
.gtranslate-shortcode .gtranslate_wrapper {
    position: relative;
    width: 123px;
    height: 33px;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher {
    position: absolute;
    width: 123px;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected {
    background: transparent !important;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected a {
    border: none;
    width: auto;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected a::after {
    background-image: url('images/caret-white.svg');
    background-size: 12px;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_option {
    background-color: black;
    border: none;
    width: auto;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected,
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_option {
    height: 34px !important;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected a,
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_option a {
    font-size: 16px;
    font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
    padding: 9px 5px;
}
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_selected a:focus-visible,
.gtranslate-shortcode .gtranslate_wrapper .gt_switcher .gt_option a:focus-visible {
    outline: 2px solid #005fcc !important;
    outline-offset: -1px !important;
}


/** Footer  */
/* GTranslate */
.gtranslate-shortcode .glink span {
    color: #444444;
}
.gtranslate-shortcode .glink:hover span {
    color: #D00000;
}
footer a {
    text-decoration: none !important;
}
footer a:hover {
    text-decoration: underline !important;
}


/** Form */
/* Outline on focus */
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid #005fcc !important;
    outline-offset: 1px !important;
}


/* Form fields */
.form-fields input,
.form-fields textarea,
.form-fields select,
.select2 {
    padding: 1em;
    border: none !important;
    font-size: 16px !important;
    border: 1px solid #bbb !important;
    border-bottom: 2px solid #666666 !important;
    line-height: 1em;
    border-radius: 2px;
    color: #3e3e3e !important;
    background: #fff !important;
    height: auto;
    padding: 14px !important;
}
.gfield .ginput_container select.gfield_select {
    padding: 15.4px !important;
}

/* Select Fields in Checkout widget */
.select2 {
    padding: 0 0 5px 0;
}
.select2 .selection span.select2-selection.select2-selection--single {
    height: 100%;
}

form label {
    font-size: 16px !important;
    font-weight: 500 !important;
    font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif !important;
    line-height: 27.2px !important;
    color: #414141 !important;

}





/** Product Detail Pages */
/* Hero - hide the "Learn more" anchor link if there is no bottom content.  */
/* .elementor-location-archive:not(:has(#more-details .elementor-widget-text-editor)) .learn-more-anchor {
    display: none !important;
} */

/* Video Heading for Product videos on detail pages */
.videos-wrapper .video-container {
    padding-bottom: 20px;
}
.videos-wrapper .video-container .video-heading {
    font-family: 'Aleo', Georgia, "Times New Roman", serif;
    color: white;
    vertical-align: middle;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-size: 16px !important;
    background: #101010;
    margin: 0;
    padding: 10px;
}

/* Specification Tables */
.spec-table table.woocommerce-product-attributes tbody tr th {
    width: 37%;
    text-align: left;
}
.spec-table table.woocommerce-product-attributes tbody tr td {
    padding: 0 8px;
}

/* Accessories */
.accessory-sections-wrapper {
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.accessory-sections-wrapper .section-heading {
    font-size: 16px;
    font-weight: 700;
    line-height: 26px;
    font-family: 'Open Sans',Helvetica,Arial,Lucida,sans-serif;
    margin: 0 0 13px 0;

}
.accessory-sections-wrapper .section-accessory-product-grid {
    display: flex;
    flex-direction: column;
    gap: 13px;
}
.accessory-sections-wrapper .section-accessory-product-grid .product-accessory-card {
    padding: 13px;
    border: 2px solid #000;
    background-color: unset;
}
.accessory-sections-wrapper .section-accessory-product-grid .product-accessory-card .product-price-addtocart {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Load Capacity Filters */
/* .load-capacity-shortcode-wrapper:not(:has(.custom-load-capacity-list)) {
    display: none;
}
.load-capacity-shortcode-wrapper {
    width: 75% !important;
}
@media (max-width: 767px) {
    .load-capacity-shortcode-wrapper {
        width: 100% !important;
    }
}
.elementor-shortcode h2.load-capacities-heading {
    font-family: 'Aleo', Georgia, "Times New Roman", serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 19.8px;
}

ul.custom-load-capacity-list {
    list-style: none;
    padding-left: 0;
}
li.load-cap-item.chosen a {
    font-weight: 700;
    padding-left: 8px;
} */


/* Product Category Cards */

.product-category-cards ul.products li.product-category {
    background-color: #d00000 !important;
}
.product-category-cards ul.products li.product-category  {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}
.product-category-cards ul.products li.product-category:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    transform: translateY(-2px);
}
.product-category-cards ul.products li.product-category a {
    display: block;
    height: 100%;
}
.product-category-cards ul.products li.product-category a img {
    margin-bottom: 0;
}
.product-category-cards ul.products li.product-category a h3 {
    text-decoration: underline;
    padding: 20px !important;
    /* margin: auto !important; */
}
.product-category-cards ul.products li.product-category:hover a h3 {
    text-decoration: unset;
}
.product-category-cards ul.products li.product-category a h3 mark.count {
    display: none;
}



/** Product Cards */
.product-load-capacity {
    font-size: 15px;
    font-weight: 400;    
    color: #000000;
}



/** Stock Status */
.woocommerce div.product .stock.in-stock.woo-custom-stock-status,
.woocommerce div.product p.woo-custom-stock-status.grouped_product_stock_status_color,
p.woo-custom-stock-status.in_stock_color,
p.stock.in-stock.grouped_product_stock_status_color {
    color: #334829 !important;
}



/** Blog Detail Page  */
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content h5{
    margin: 26px 0 16px;
}




/** Team Member widget (About Page)  */
.eael-team-item {
    height: 100%;
    overflow: unset !important;
}
.eael-team-item .eael-team-content {
    position: relative;
    text-align: center;
}
.eael-team-item .eael-team-content .eael-team-member-position {
    text-transform: unset;
}
.eael-team-item .eael-team-content .eael-team-member-social-profiles {
    position: absolute;
    top: -26px;
    right: -26px;
}
.eael-team-item .eael-team-content .eael-team-member-social-profiles svg {
    border-bottom: 1px solid #ffffff;
}




/** Account Pages */
/* Account Details page */
.account-pages .form-row > br {
    display: none;
}
.account-pages .form-row > label {
    padding-bottom: 8px;
}
.account-pages .form-row .select2.select2-container {
    padding: 0 !important;
}
.account-pages .form-row .select2.select2-container .select2-selection {
    padding: 6px !important;
    border-radius: 0;
    border-top: none;
    border-right: none;
    border-left: none;
}
.account-pages button[type="submit"] {
    margin-top: 20px;
}


/** Cart Page  */
/* Shipping To & Change Address */
.cart-widget .woocommerce-shipping-totals.shipping p.woocommerce-shipping-destination,
.cart-widget .woocommerce-shipping-totals.shipping .woocommerce-shipping-calculator a.shipping-calculator-button {
    text-transform: capitalize;
    font-weight: 600;
    letter-spacing: 0;
}
/* Empty Cart Message */
.cart-widget .cart-empty.woocommerce-info {
    border-color: #d00000;
}
.cart-widget .cart-empty.woocommerce-info::before {
    color: #d00000;
}
.cart-widget .woocommerce .return-to-shop {
    display: none;
}