/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

.fa, .fas {
    font-size: 0.875em;
}

/* Menu */
.fusion-header-wrapper .fusion-logo img {
    min-width: 80px;
    min-height: 80px;
}
.fusion-header-wrapper.fusion-is-sticky .fusion-logo img {
    min-width: 55px;
    min-height: 55px;
}
.fusion-main-menu>ul.fusion-menu {
    display: flex;
    align-items: center;
}
.fusion-main-menu>ul>li.icon-menu {
    padding-right: calc( var(--nav_padding) / 4 * 3);
}
body:not(.avada-menu-highlight-style-background) .fusion-is-sticky .fusion-main-menu>ul>li.icon-menu:not(:last-child) {
    padding-right: calc( var(--header_sticky_nav_padding) / 4 * 3);
}
.fusion-main-menu>ul>li>a.menu-button {
    background-color: var(--menu_sub_color);
    color: #FFFFFF;
    padding: 6px 12px;
    border-radius: 3px;
    height: fit-content !important;
}
.fusion-is-sticky .fusion-main-menu .fusion-widget-cart-counter>a.menu-button:before, 
.fusion-is-sticky .fusion-main-menu>ul>li>a.menu-button, 
.fusion-is-sticky .fusion-main-menu>ul>li>a.menu-button .fusion-menu-description {
    color: #FFFFFF;
}
.fusion-main-menu>ul>li>a.menu-button:hover,
.fusion-main-menu>ul>li>a.menu-button:not(.fusion-logo-link):hover,
.fusion-main-menu>ul>li>a.menu-button:not(.fusion-logo-link):not(.awb-icon-sliding-bar):hover {
    background-color: var(--menu_hover_first_color);
    color: #FFFFFF;
}

.fusion-menu-cart-checkout {
    flex-direction: column;
}
.fusion-menu-cart-items .fusion-menu-cart-item a {
    font-size: 14px;
    padding: 6px;
}

.fusion-menu-cart-items .fusion-menu-cart-item a:hover {
    color: var(--menu_sub_color);
}
.fusion-menu-cart-items .fusion-menu-cart-item a .fusion-menu-cart-item-quantity {
    font-size: 12px;
    color: #666;
}
.fusion-main-menu .fusion-widget-cart-counter>a.fusion-main-menu-icon .fusion-widget-cart-number {
    width: 20px;
    height: 20px;
    padding: 0px 0px;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    color: #FFF;
}

/* Sidebar */
.fusion-layout-column .fusion-column-wrapper:has(.fusion-widget-area) {
    background-color: transparent;
    padding: 0;
}
.fusion-layout-column .fusion-column-wrapper.hover:has(.fusion-widget-area),
.fusion-layout-column .fusion-column-wrapper:hover:has(.fusion-widget-area),
#main #sidebar.fusion-sticky-sidebar .fusion-sidebar-inner-content,
#main #sidebar.sidebar:not(.fusion-sticky-sidebar) {
    background-color: transparent;
}
.awb-widget-area-element.fusion-widget-area .widget,
#sidebar.sidebar .widget {
    background-color: var(--sidebar_bg_color);
    margin-bottom: 24px;
}

.awb-widget-area-element.fusion-widget-area .widget .heading h4,
.awb-widget-area-element.fusion-widget-area .widget h4,
#sidebar.sidebar .widget h4 {
    font-size: 16px;
    text-align: center;
    margin-top: 0;
    margin-bottom: 0;
    padding: 18px 24px 14px 24px;
}
.awb-widget-area-element.fusion-widget-area .widget_recent_entries ul,
#sidebar.sidebar .widget_recent_entries ul {
    font-size: 14px;
    line-height: 1.5;
    padding: 0px 24px 8px 24px;
}
.awb-widget-area-element.fusion-widget-area .widget_recent_entries ul li:last-of-type,
#sidebar.sidebar .widget_recent_entries ul li:last-of-type {
    border: 0;
}
.awb-widget-area-element.fusion-widget-area .widget .custom-html-widget iframe,
#sidebar.sidebar .widget .custom-html-widget iframe {
    display: block;
    max-width: 100%;
    overflow: hidden;
}
.awb-widget-area-element.fusion-widget-area .widget .fusion-social-networks,
#sidebar.sidebar .widget .fusion-social-networks {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-bottom: 12px;
}
.awb-widget-area-element.fusion-widget-area .widget .fusion-vertical-menu-widget .menu,
#sidebar.sidebar .widget .fusion-vertical-menu-widget .menu {
    padding-bottom: 16px;
}
.awb-widget-area-element.fusion-widget-area .widget .fusion-vertical-menu-widget .menu li a,
#wrapper .widget .fusion-vertical-menu-widget.no-border.left .menu li a,
.awb-off-canvas .widget .fusion-vertical-menu-widget.no-border.left .menu li a,
#sidebar.sidebar .widget .fusion-vertical-menu-widget .menu li a  {
    text-align: center;
    padding: 6px 24px;
}
#wrapper .widget .fusion-vertical-menu-widget.no-border.left .menu li a span.arrow,
.awb-off-canvas .widget .fusion-vertical-menu-widget.no-border.left .menu li a span.arrow,
#sidebar.sidebar .widget .fusion-vertical-menu-widget.no-border.left .menu li a span.arro  {
    position: absolute;
    width: 24px;
}
#wrapper .fusion-vertical-menu-widget.no-border.left .menu li a span.arrow::before,
.awb-off-canvas .fusion-vertical-menu-widget.no-border.left .menu li a span.arrow::before,
#sidebar.sidebar .fusion-vertical-menu-widget.no-border.left .menu li a span.arrow::before  {
    transform: rotate(90deg);
    display: inline-block;
}

/* sticky sidebar */
.single-post .post-content > .fusion-fullwidth:first-of-type > .fusion-row:first-of-type > .fusion_builder_column_1_3:last-of-type {
    position: sticky;
    top: 0;
}

/* widget-buttons */
.widget-buttons {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 0px 24px 24px 24px;
}
.widget-button {
    background-color: var(--menu_sub_color);
    color: #FFFFFF;
    padding: 4px 12px 2px 12px;
    font-weight: bold;
    border-radius: 4px;
}
.widget-button:hover {
    background-color: var(--primary_color);
    color: #FFFFFF;
}

/* footer */
.fusion-footer footer.fusion-footer-widget-area .fusion-row .fusion-columns {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}
.fusion-footer footer.fusion-footer-widget-area .fusion-row .fusion-columns .fusion-column {
    width: fit-content;
    float: none;
}
.fusion-footer footer.fusion-footer-widget-area .fusion-row .fusion-columns .fusion-column .fusion-footer-widget-column:not(:last-of-type) {
    margin-bottom: 32px;
}
.fusion-footer footer.fusion-footer-widget-area .fusion-row .fusion-columns .fusion-clearfix {
    display: none;
}

/* page */
.fusion-page-title-captions {
    padding: 40px 0 0 0;
}
.categories-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.categories-list li + li {
    border-left: 1px solid #EEE;
}
.categories-list li a {
    position: relative;
    padding: 4px 16px;
}
.categories-list li a::after {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 1px;
    left: 0;
    right: 0;
    bottom: -2px;
    margin: auto;
    background-color: var(--primary_color);
    transition: width 0.4s ease;
}
.categories-list li a:hover::after {
    width: calc(100% - 32px);
}

/* tagline */
.fusion-reading-box-container .reading-box {
    position: relative;
    border-width: 0px !important;
    border-left-width: 6px !important;
}
.fusion-body .fusion-button-default-size {
    --button_font_size: 16px;
    --button_padding-top: 10px;
    --button_padding-right: 24px;
    --button_padding-bottom: 10px;
    --button_padding-left: 24px;
    --button-border-radius-top-left: 4px;
    --button-border-radius-top-right: 4px;
    --button-border-radius-bottom-right: 4px;
    --button-border-radius-bottom-left: 4px;
}
.fusion-body .fusion-button-default-size.fusion-desktop-button-margin.fusion-tagline-button {
    margin-bottom: 0;
    position: absolute;
    right: 24px;
    top: 0;
    bottom: 0;
    margin: auto !important;
    height: fit-content;
}

/* content box */
.custom-box-icon-head {

}
.custom-box-icon-head.fusion-content-boxes .content-wrapper-background {
    padding: 24px 24px 24px 24px;
}
.custom-box-icon-head.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .icon,
.custom-box-icon-head.fusion-content-boxes.content-boxes-icon-with-title .heading-with-icon .image {
    margin-top: -38px;
    display: inline-block;
}
.custom-box-icon-head.fusion-content-boxes .heading {
    overflow: visible;
}
.custom-box-icon-head.fusion-content-boxes .content-box-wrapper > div:last-child {
    margin-bottom: 0;
}

/* products */
.fusion-product-wrapper .featured-image {
    aspect-ratio: 1 / 1;
    height: auto !important;
    overflow: hidden;
    position: relative;
}
.fusion-product-wrapper .featured-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* single */
.post-content:has(.fusion-fullwidth.fixed-bottom-product-container) {
    padding-bottom: 120px;
}
.fusion-fullwidth.fixed-bottom-product-container {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
}
.product-item-one-page ul.products {
    margin: 0;
}
.product-item-one-page ul.products .product {
    padding: 0;
    background-color: var(--awb-grid-box-color);
}
.product-item-one-page ul.products .product .fusion-product-wrapper {
    max-width: calc(var(--site_width));
    margin: auto;
}

.product-item-one-page ul.products .product .fusion-product-content {
    display: flex;
    justify-content: space-between;
    padding: 0;
}
.product-item-one-page ul.products .product .product-details {
    flex-grow: 1;
    padding: 8px 16px 8px 0;
}
.product-item-one-page ul.products .product .product-buttons {
    padding: 0;
}
.product-item-one-page ul.products .product .product-buttons .product-buttons-container {
    height: 100%;
}   
.product-item-one-page ul.products .product .product-buttons .show_details_button {
    display: none;
}
.product-item-one-page ul.products .product .product-buttons .add_to_cart_button {
    white-space: nowrap;
    height: 100%;
    width: fit-content;
    max-width: none;
    padding: 8px 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--link_color);
    color: #FFFFFF;
    font-weight: bold;
}
.product-item-one-page ul.products .product .product-buttons .add_to_cart_button:before {
    position: relative;
    margin-left: 0;
    margin-right: 8px;
}
.product-item-one-page ul.products .product .product-buttons .add_to_cart_button.loading {
    pointer-events: none;
    background-color: #AAA;
}
.product-item-one-page ul.products .product .product-buttons .add_to_cart_button.loading:before {
    content: '\f110';
    animation: spin 1s linear infinite;
}
.product-item-one-page ul.products .product .product-buttons .add_to_cart_button.added:before {
    content: '\f00c';
}
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}
.product-item-one-page .product-details-container {
    display: flex;
    justify-content: space-between;
    padding: 0;
}
.product-item-one-page .product-details-container h3 {
    display: flex;
    align-items: center;
}
.product-item-one-page ul.products .product .product-details .product-title a {
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    pointer-events: none;
}
@media only screen and (max-width: 1240px) {
    .product-item-one-page ul.products .product .product-details {
        flex-grow: 1;
        padding: 4px 30px;
    }
}
@media only screen and (max-width: 768px) {
    .product-item-one-page .product-details-container {
        display: block;
    }
    .product-item-one-page ul.products .product .product-details {
        flex-grow: 1;
        padding: 6px 16px 2px 16px;
        max-width: calc(100vw - 140px);
    }
    .product-item-one-page ul.products .product .product-buttons .add_to_cart_button {
        padding: 8px 16px;
    }
}
/* fixed-checkout-one-page */
.fusion-fullwidth.fixed-checkout-one-page {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 200000;
    padding: 0;
    margin: 0;
}
.fusion-fullwidth.fixed-buttons {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 99;
    padding: 0;
    margin: 0;
}
.fusion-fullwidth.fixed-checkout-one-page.active {
}

.fusion-fullwidth.fixed-checkout-one-page .fusion-row.fusion-flex-content-wrap {
    
}

.fusion-layout-column.checkout-wrap {
    padding: 0;
    margin: 0;
}
.fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container .fusion-row .fusion-flex-column.checkout-wrap {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(5px);
    justify-content: center;
    padding: 40px 30px 30px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-color: #333 transparent;
    scrollbar-width: thin;

    pointer-events: none;
    opacity: 0;
}
.fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container.active .fusion-row .fusion-layout-column.checkout-wrap {
    pointer-events: initial;
    opacity: 1;
}
.fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container .fusion-layout-column.checkout-wrap .fusion-column-wrapper {
    padding: 40px 30px;
    margin: 0;
    position: relative;
    max-width: 960px;
    width: 100%;
    background-color: #FFFFFF !important;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.25);
    z-index: 1000;
    height: fit-content;

    transform: translateY(12px);
}
.fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container .fusion-layout-column.checkout-wrap .fusion-column-wrapper {
    transform: translateY(0px);
}
.fusion-layout-column.checkout-togglers,
.fixed-buttons .fusion-layout-column.custom-buttons {
    position: absolute;
    top: 20px;
    right: 5vw;
    margin: 0 auto;
    width: fit-content;
    z-index: 3100;
    --awb-filter-hover: none;
    --awb-z-index-hover: 3100;
}
.fusion-button.fusion-button-default-size.checkout-open,
.fusion-button.fusion-button-default-size.checkout-close,
.fusion-button.fusion-button-default-size.minicart-open {
    border-radius: 50%;
    padding: 0px;
    width: 55px;
    height: 55px;
}
.fusion-button.fusion-button-default-size.checkout-open i,
.fusion-button.fusion-button-default-size.checkout-close i,
.fusion-button.fusion-button-default-size.minicart-open i {
    margin: 0;
    font-size: 20px;
}

.fixed-checkout-one-page.active .fusion-button.fusion-button-default-size.checkout-open {
    display: none;
}
.fusion-button.fusion-button-default-size.checkout-close {
    display: none;
}
.fixed-checkout-one-page.active .fusion-button.fusion-button-default-size.checkout-close {
    display: flex;
}
@media only screen and (max-width: 768px) {
    .fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container .fusion-row .fusion-flex-column.checkout-wrap {
        padding: 24px 12px;
    }
    .fusion-fullwidth.fixed-checkout-one-page.fusion-flex-container .fusion-layout-column.checkout-wrap .fusion-column-wrapper {
        padding: 12px 12px;
    }
    .fusion-layout-column.checkout-togglers {
        right: 8px;
        top: 8px;
    }
    div.fusion-woo-cart_coupons.buttons-layout-floated .fusion-apply-coupon {
        --button_padding-top: 6px;
        --button_padding-right: 12px;
        --button_padding-bottom: 4px;
        --button_padding-left: 12px;
        white-space: nowrap;
    }
    .woocommerce-cart .cart_totals .shop_table tr {
        display: flex;
    }
    .woocommerce-cart .cart_totals table th {
        max-width: 100px;
    }
    .woocommerce-cart .cart_totals .shop_table td {
        flex-grow: 1;
    }
    div.fusion-woo-cart-totals-wrapper .amount, div.fusion-woo-cart-totals-wrapper a {
        font-weight: bold;
    }
    div.fusion-woo-cart-totals-wrapper .order-total .amount {
        font-size: 22px;
    }
}

/* checkout */
#payment .payment_methods li[class*=payment_method_woocommerce_payments] #payment_method_woocommerce_payments + label {
    display: flex;
    align-items: center;
}
#payment .payment_methods li[class*=payment_method_woocommerce_payments] #payment_method_woocommerce_payments + label img {
    position: relative;
    float: none;
}
.checkout .shop_table.cart .product-quantity {
    text-align: center;
}
.fusion-woo-cart_table thead tr th {
    --awb-cell-padding-top: 4px;
    --awb-cell-padding-bottom: 4px;
    --awb-cell-padding-left: 4px;
    --awb-cell-padding-right: 4px;
}

.fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li .payment_box, .fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li.woocommerce-notice {
    --awb-payment-padding-left: 55px;
}
.fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li>input:checked+label {
    background-color: var(--awb-label-bg-hover-color);
}
.fusion-woo-checkout-order-review-tb ul li:has(input:checked), .fusion-woo-checkout-payment-tb ul li:has(input:checked) {
    border: 1px solid #CCC;
}
.fusion-woo-checkout-order-review-tb ul li>label:before, .fusion-woo-checkout-payment-tb ul li>label:before {
    --form_border_color: #999;
    --form_focus_border_color: var(--awb-label-color);
}
.fusion-woo-checkout-order-review-tb ul li input:checked+label:after, .fusion-woo-checkout-payment-tb ul li input:checked+label:after {
    --form_focus_border_color: var(--awb-label-color);
}
.shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .fusion-product-name-wrapper a {
    pointer-events: none;
}
@media only screen and (max-width: 750px) {

    /* cart table */
    .shop_table_responsive.woocommerce-cart-form__contents tbody tr.cart_item {
        display: grid;
        grid-template-columns: 1fr 1fr;

        padding-left: 77px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tbody tr.cart_item td {
        text-align: left;
        padding: 0;
        line-height: 1.6;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-name {
        grid-column: 1 / 3;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-thumbnail {
        position: absolute;
        left: 0;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-info {
        margin-top: 0;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-price {
        grid-column: 1 / 3;
        font-size: 14px;
        --awb-text-color: #999;
        padding-bottom: 4px;
    }
    
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-subtotal {
        display: flex;
        align-items: center;
        justify-content: flex-end;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-remove {
        top: 3px;
        left: -6px;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tr.cart_item .product-quantity .quantity {
        margin: 0;
    }
    .shop_table_responsive.woocommerce-cart-form__contents tbody tr.avada-cart-actions {
        padding: 24px 0 0 0;
    }
    div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr td, div.fusion-woo-cart-totals-wrapper table.shop_table tbody tr th {
        --awb-cell-padding-top: 20px;
        --awb-cell-padding-right: 0px;
        --awb-cell-padding-bottom: 0px;
        --awb-cell-padding-left: 0px;
    }

    /* payment */
    .fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li>label {
        --awb-label-padding-top: 6px;
        --awb-label-padding-right: 12px;
        --awb-label-padding-bottom: 6px;
        --awb-label-padding-left: 32px;
    }
    .fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li .payment_box, .fusion-woo-checkout-payment-tb .woocommerce-checkout-payment ul.wc_payment_methods li.woocommerce-notice {
        --awb-payment-padding-top: 6px;
        --awb-payment-padding-right: 12px;
        --awb-payment-padding-bottom: 6px;
        --awb-payment-padding-left: 32px;
    }
    .fusion-woo-checkout-payment-tb #payment ul li>label:before {
        left: 8px;
    }
    .fusion-woo-checkout-payment-tb #payment ul li>label:after {
        left: 12px;
    }

    .woocommerce .checkout #payment #place_order {
        display: block;
        width: 100%;
        font-size: 18px;
        padding: 16px;
    }
}

/* to top */
.page:has(.fixed-bottom-product-container) .to-top-floating #toTop {
    bottom: 100px;
    z-index: 99;
}

/*  */
.wp-block-woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout.is-large {
    display: flex;
}
.wp-block-woocommerce-checkout .is-large .wc-block-checkout__sidebar.is-sticky {
    top: 120px;
}

@media only screen and (max-width: 750px) {
    .awb-woo-mini-cart.link-style-button .buttons a {
        --button_padding-top: 6px;
        --button_padding-right: 12px;
        --button_padding-bottom: 6px;
        --button_padding-left: 12px;
    }
}

/* wp-toolbar */
#wp-toolbar {
    display: flex;
    flex-wrap: nowrap;
}
#wp-toolbar > ul {
    display: flex;
    flex-wrap: nowrap;
    overflow: hidden;
}
#wp-toolbar > ul li {
    white-space: nowrap;
}