/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* Site Wrapper */
.site-wrapper {
    width: 100%;
    /* max-width: 1920px; */
    margin-inline: auto;
}

.custom-top-bar a {
    text-decoration: none;
}

.site-header {
    position: relative;
    box-shadow: 0 2px 3px -2px rgba(0,0,0,0.35);
    z-index: 9;
}

.menu-bar-item a[data-gpmodal-trigger="gp-search"] {
	padding-right: 0;
}

#mobile-header .main-navigation .menu-bar-item a.shopping-cart {
    padding-right: 0px;
}

#mobile-header .site-logo.mobile-header-logo img {
    height: 85px;
    padding: 15px 0;
}

/* Breadcrumbs */
.rank-math-breadcrumb p {
    color: #fff;
    font-family: 'Arsenal';
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
}

.rank-math-breadcrumb p > a {
    text-decoration: none;
}

.rank-math-breadcrumb p > a:hover {
    color: var(--contrast-3);
}

/* Homepage */
.slide-button .n2-ss-button-container a:hover {
    background: var(--global-color-6) !important;
}

.n2-ss-layer.n-uc-eEMJbHYgpGLo > .n2-ss-item-image-content > picture {
    display: flex;
    justify-content: flex-start;
}

.n2-ss-layer.n-uc-wMMFZl4ukmTi > .n2-ss-item-image-content > picture {
    display: flex;
    justify-content: flex-end;
}

.home .woocommerce.columns-4 {
    position: relative;
} 

.wc-block-product-template.wc-block-product-template {
    margin-left: 0px !important;
}

/* .homepage-after-page-hero::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 500px;
    width: 267px;
    height: 428px;
    background-image: url('/wp-content/uploads/2024/01/homepage-hero-rose-left-small.png');
    background-repeat: no-repeat;
    background-position: left;
} */

/* .homepage-after-page-hero::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    width: 420px;
    height: 421px;
    background-image: url('/wp-content/uploads/2024/01/homepage-hero-rose-right-small.png');
    background-repeat: no-repeat;
    background-position: right;
} */

.gb-container.why-choose-us:before {
    content: '';
    width: 104%;
    left: -30px;
    right: 0;
    margin: 0 auto;
    position: absolute;
    height: 90%;
    border: 2px solid var(--contrast-3);
}

.homepage-category-left,
.homepage-category-right {
    transform-style: preserve-3d;
}

.homepage-category-left:before {
    content: '';
    width: 315px;
    height: 280px;
    position: absolute;
    border: 2px solid var(--contrast-3);
    left: -30px;
    transform: translateZ(-1px);
}

.homepage-category-right:before {
    content: '';
    width: 315px;
    height: 280px;
    position: absolute;
    border: 2px solid var(--contrast-3);
    right: -30px;
    transform: translateZ(-1px);
}

.homepage-categories-first-row .homepage-category-right:before,
.homepage-categories-first-row .homepage-category-left:before {
    top: -30px;
}

.homepage-categories-second-row .homepage-category-right:before,
.homepage-categories-second-row .homepage-category-left:before {
    bottom: -30px;
}

#sp-wp-carousel-free-id-505 img {
    min-height: 355px;
    object-fit: cover;
}

/* Shop categories */
.woocommerce span.onsale {
    background-color: var(--contrast-2) !important;
}

.woo-widget-title {
    position: relative;
    width: max-content;
}

.woo-widget-title:after {
    content: '';
    width: 60px;
    border-bottom: 3px solid #DCDCDC;
    position: absolute;
    left: 0;
    bottom: -10px;
}

.product-cat-slug-uncategorized {
    display: none;
}

.wc-block-product-categories-list-item a {
    text-decoration: none;
}

.woocommerce a.button.add_to_cart_button {
    margin-bottom: 1em;
    padding: 10px 40px;
    font-weight: 600;
    color: var(--contrast);
    background: var(--base);
}

.woocommerce a.button.add_to_cart_button:hover {
    color: var(--contrast);
    background: var(--base);
    box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5)
}

.woocommerce a.button.add_to_cart_button {
    transition: all 0.2s linear 0s;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 30px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 30px;
      
        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

li.wc-block-product-categories-list-item {
    margin: 20px 0;
}

li.wc-block-product-categories-list-item a {
    position: relative;
    font-size: 1rem;
    line-height: 1.5rem;
}

li.wc-block-product-categories-list-item a:hover {
    color: #7E7C54;
}

li.wc-block-product-categories-list-item a::after {
    content: '';
    width: 100%;
    min-width: 300px;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: -15px;
    border-bottom: 1px solid #DCDCDC;
}

.wc-block-product-categories-list--depth-1 li.wc-block-product-categories-list-item a::after {
    margin-left: -1em;
}

.wc-block-product-categories-list--depth-1 li.wc-block-product-categories-list-item::before {
    content: '\f054';
    font-family: 'FontAwesome';
    position: absolute;
    left: -1em;
    color:#DCDCDC;
}

span.wc-block-product-categories-list-item-count {
    font-size: 0.8rem;
    color: #DCDCDC;
    margin-left: auto;
}

.widget.widget_yith-woocommerce-ajax-navigation-filters {
    padding: 0;
}

.widget.widget_yith-woocommerce-ajax-navigation-filters .filter-title {
    display: none !important;
}

/* Product boxes */
ul.products li {
    box-shadow: 0 1px 1px 2px rgba(0,0,0,.01), 0 1px 2px rgba(0,0,0,0.1);
    border: 1px solid transparent;
}

ul.products li:hover {
    border: 1px solid var(--global-color-7);
    box-shadow: none;
    /* box-shadow: 0 1px 3px -2px rgba(250, 245, 239, .12), 0 1px 2px rgba(250, 245, 239, .24); */
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0 10px !important;
}

.woocommerce ul.products .inside-wc-product-image,
.woocommerce ul.products li.product a img {
    width: 100% !important;
}

/* Single product */
.single-product .single_add_to_cart_button {
    padding: 10px 40px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    color: var(--contrast) !important;
    background: var(--base) !important;
}

.single-product .single_add_to_cart_button:hover {
    box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5);
}

.single-product .single_add_to_cart_button {
    transition: all 0.2s linear 0s;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 30px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 30px;
      
        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

.yith-wcwl-add-to-wishlist {
    margin-bottom: 10px;
}

.woocommerce-Reviews-title {
    display: none;
}

.yith-wcwl-add-button a {
    text-decoration: none !important;
}

.related.products .inside-wc-product-image {
    width: 100%;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    justify-content: center;
    border-bottom: 1px solid rgba(0,0,0,.08);
}


.woocommerce #content div.product .woocommerce-tabs ul.tabs li, 
.woocommerce div.product .woocommerce-tabs ul.tabs li, 
.woocommerce-page #content div.product .woocommerce-tabs ul.tabs li, 
.woocommerce-page div.product .woocommerce-tabs ul.tabs li {
    min-width: 150px;
    text-align: center;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background-color: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-family: 'scriptcyr';
    font-size: 2rem;
    padding: 10px 40px;
    font-weight: 400;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover, 
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--contrast-2) !important;
}

section.related.products {
    margin-top: 80px;
}

section.related.products > h2 {
    text-align: center;
    font-family: 'scriptcyr';
    color: var(--contrast);
}

/* Mini cart */

#wc-mini-cart a:not(.button) {
    font-size: 1rem;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons {
	flex-direction: column;
	row-gap: 1rem;
}

#wc-mini-cart .button {
    background-color: var(--base) !important;
    color: var(--contrast) !important;
    font-weight: 700;
    text-transform: uppercase;
	width: 100%;
	margin: 0;
    transition: all 0.2s linear 0s;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 30px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 30px;
      
        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

#wc-mini-cart .button:hover {
    box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5)
}

/* Cart and checkout pages */
input#coupon_code {
    min-width: 250px;
}

.woocommerce-checkout .woocommerce table.shop_table th,
.woocommerce-cart .woocommerce table.shop_table th {
    background-color: var(--base);
    color: var(--contrast);
}

.woocommerce-checkout h3:not(#ship-to-different-address),
.cart_totals h2 {
    font-family: 'scriptcyr';
    color: var(--contrast);
}

.woocommerce-checkout #place_order,
.woocommerce-cart .woocommerce-cart-form button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    font-family: 'Arsenal';
    background-color: var(--base) !important;
    color: var(--contrast) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
	margin: 0;
    transition: all 0.2s linear 0s;
    padding: 10px 20px !important;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 30px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 30px;
      
        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

.coupon-form-wrapper .checkout_coupon button {
    font-family: 'Arsenal';
    background-color: #FAF5EF !important;
    color: #7E7C54 !important;
    transition: all 0.2s linear 0s;
    font-size: 1rem !important;
    padding: 11px 10px !important;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 20px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 20px;
      
        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

.coupon-form-wrapper .checkout_coupon button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-cart .woocommerce-cart-form button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5)
}

div#payment {
    position: relative;
}

#payment {
	margin-top: 140px;
}

#payment.add-top-margin {
	margin-top: 310px;
}

.coupon-form-wrapper {
	position: absolute;
	top: -115px;
}

.coupon-form-wrapper.add-top-margin {
    top: -275px;
}

.checkout_coupon .form-row-last {
    width: 51%;
}

.checkout_coupon p:first-of-type {
    text-align: center;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    border: 1px dashed var(--contrast);
    background-color: #FAF5EF;
    color: var(--contrast);
}

.woocommerce-form-coupon-toggle .woocommerce-info .showcoupon {
    color: var(--contrast);
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-bottom: 1px solid rgba(0,0,0,.1) !important;
}

.wc_payment_methods.payment_methods {
    background-color: var(--base);
}

.wc_payment_methods.payment_methods li label {
    background-color: transparent !important;
    color: var(--contrast);
}

.woocommerce-privacy-policy-text p {
    margin: 10px 0 5px;
}

/* Contact us page */
.page-id-345 .site {
    position: relative;
}

/* .page-id-345 .site::before {
    content: '';
    position: absolute;
    left: -50px;
    top: 0px;
    width: 267px;
    height: 428px;
    background-image: url('/wp-content/uploads/2024/01/homepage-hero-rose-left-small.png');
    background-repeat: no-repeat;
    background-position: left;
} */

/* Wishlist */
.wishlist-title-container {
    display: none;
}

.woocommerce table.shop_table.wishlist_table {
    margin: 25px 0px;
}

.woocommerce table.shop_table.wishlist_table th {
    background-color: var(--base);
    color: var(--contrast);
    font-family: 'Arsenal';
    font-size: 1rem;
}

td.product-price,
td.product-stock-status {
    text-align: left !important;
}

/* Fluent forms */
#fluentform_2.frm-fluent-form .ff-t-container {
    gap: 0px;
}

.fluentform.ff-default .ff-el-form-control {
    padding: 13px 0px;
}

#fluentform_2 .ff-btn-submit {
    margin-right: 50px;
    padding-right: 0;
}

#fluentform_2_success p {
    margin-bottom: 0;
    color: #fff;
}

/* Footer */
.site-footer a,
.copyright a {
    text-decoration: none;
}

.copyright a::hover {
    text-decoration: underline;
}

.site-footer a::hover {
    color: var(--global-color-7)
}

/* Error 404 page */
.error404 .site::before {
    content: '';
    position: absolute;
    left: -50px;
    top: 180px;
    width: 267px;
    height: 428px;
    background-image: url('/wp-content/uploads/2024/01/homepage-hero-rose-left-small.png');
    background-repeat: no-repeat;
    background-position: left;
}

/* Custom button styles */
#review_form .submit {
    position: relative;
}

.gb-button.custom-button,
.button.woocommerce-form-login__submit,
.button.woocommerce-form-register__submit {
    background-color: #FAF5EF !important;
    color: #7E7C54 !important;
    font-weight: 700;
    justify-content: center;
    margin: 0;
    transition: all 0.2s linear 0s;
    
    &:before {
        content: "\f054";
        font-family: FontAwesome;
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        left: 0px;
        height: 100%;
        width: 30px;
        background-color: rgba(118, 129, 137, 0.3);
        border-radius: 0 50% 50% 0;
        transform: scale(0,1);
        transform-origin: left center;
        transition: all 0.2s linear 0s;
    }
    
    &:hover {
        text-indent: 30px;

        &:before {
            transform: scale(1,1);
            text-indent: 0;
        }
    }
}

#review_form .submit:hover,
.gb-button.custom-button:hover,
.button.woocommerce-form-login__submit:hover,
.button.woocommerce-form-register__submit:hover {
    box-shadow: 10px 0 10px -10px rgba(0, 0, 0, 0.5)
}

/* Media queries */
@media (max-width: 390px) {
    #mobile-header .site-logo.mobile-header-logo img {
        height: 75px;
    }
}

@media (max-width: 768px) {
    .homepage-hero::after {
        display: none;
    }

    .home .woocommerce ul.products[class*="columns-"] li.product {
        margin: 0 0 1rem;
    }

    .menu-bar-item a[data-gpmodal-trigger="gp-search"] {
        padding-right: 20px;
    }
    
    /* .home .woocommerce ul.products {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    
    .home .woocommerce ul.products li.product {
        flex: 0 0 100%;
        scroll-snap-align: start;
    } */
    
    .carousel-nav {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
        z-index: 2;
    }
       
    .carousel-next, 
    .carousel-next:hover,
    .carousel-next:focus {
        right: -38px;
        background: transparent;
        color: var(--global-color-1);
        font-size: 1.7rem;
    }
    
    .carousel-prev,
    .carousel-prev:hover,
    .carousel-prev:focus {
        left: -38px;
        background: transparent;
        color: var(--global-color-1);
        font-size: 1.7rem;
    }

    .homepage-category-right::before,
    .homepage-category-left::before,
    .homepage-after-page-hero::before,
    .homepage-after-page-hero::after {
        display: none;
    }

    #fluentform_1 .ff-btn-submit {
        margin-bottom: 0px;
    }

    .gb-container.why-choose-us::before {
        display: none;
    }

    .rank-math-breadcrumb p {
        font-size: 1rem;
        text-align: center;
    }

    #payment {
        margin-top: 170px;
    }

    .coupon-form-wrapper {
        top: -145px;
    }

    .fluentform_wrapper_2.ffs_custom_wrap {
        width: 100%;
    }

    #fluentform_2 .ff-t-container.ff-column-container.ff_columns_total_2   {
        display: flex;
        flex-direction: row;
    }

    #fluentform_2 .ff-t-cell.ff-t-column-1 {
        flex-basis: 70% !important;
    }
    
    #fluentform_2 .ff-t-cell.ff-t-column-2 {
        flex-basis: 30% !important;
    }

    .fluentform.ff-default .ff-el-form-control {
        padding: 12px 0px;
    }
}