/*
Theme Name: E-Bikes Direct Theme
Version: 1.85
Description: Child theme for Storefront.
Author: Epic
Author URI: https://itsepic.co.uk
Template: storefront
*/

/* --------------- Theme customization starts here ----------------- */

:root {
    --main-color: #46aee4;
}

a {
    color: var(--main-color);
}

.hidden {
    display: none;
}

.shop-blue {
    color: var(--main-color);
}

.is-layout-flex {
    display: flex;
}

.swiper-wrapper {
    min-height: 77.933vw;
}

@media (max-width: 640px) {
    .desktop-image {
        display: none;
    }
}

@media (min-width: 641px) {
    .mobile-image {
        display: none;
    }
    .swiper-wrapper {
        min-height: 24.782vw;
    }
    .sm\:block {
        display: block;
    }
}

.star-rating span:before,
.quantity .plus,
.quantity .minus,
p.stars a:hover:after,
p.stars a:after,
.star-rating span:before,
#payment .payment_methods li input[type=radio]:first-child:checked+label:before {
    color: var(--main-color);
}

a:focus,
input:focus,
textarea:focus,
button:focus {
    outline: none;
}

a:focus,
button:focus,
.button.alt:focus,
input:focus,
textarea:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus {
    outline-color: var(--main-color);
}

button.alt,
input[type="button"].alt,
input[type="reset"].alt,
input[type="submit"].alt,
.button.alt,
.widget-area .widget a.button.alt {
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.btn {
    border: 0;
    border-radius: 0;
    background: 0 0;
    background-color: var(--main-color);
    border-color: var(--main-color);
    color: #fff;
    cursor: pointer;
    padding: .6180469716em 1.41575em;
    text-decoration: none !important;
    font-weight: 600;
    text-shadow: none;
    display: inline-block;
    -webkit-appearance: none;
    margin-bottom: 10px;
}

.btn:hover {
    background-color: #1a1a1a;
    border-color: #1a1a1a;
    color: #ffffff;
}

h1,
.alpha {
    font-size: 2em;
    letter-spacing: 0;
    font-weight: 400;
}

h3,
.gamma {
    font-size: 1.4em;
}

.site-header .site-logo-anchor img,
.site-header .site-logo-link img,
.site-header .custom-logo-link img {
    max-width: 100px;
}

.site-header {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: none;
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    gap: 10px;
}

@media (min-width: 768px) {

    .site-header {
        padding-top: 0;
        padding-bottom: 0;
    }

    .header-container {
        gap: 30px;
    }

    .site-header .site-logo-anchor img,
    .site-header .site-logo-link img,
    .site-header .custom-logo-link img {
        max-width: 210px;
    }

    .woocommerce-active .site-header .site-search {
        width: 350px;
    }
}



.woocommerce-active .site-header .site-branding {
    width: auto;
    margin-right: 0;
    margin-bottom: 0;
}

.site-search .widget_product_search form input[type=search],
.site-search .widget_product_search form input[type=text] {
    border: 2px solid var(--main-color);
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 5px;
}

.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::before,
.single-product div.product .woocommerce-product-gallery .flex-control-thumbs::after {
    content: none;
}

.storefront-full-width-content.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-5 .flex-control-thumbs li,
.single-product div.product .woocommerce-product-gallery.woocommerce-product-gallery--columns-4 .flex-control-thumbs li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 0;
}

.single-product div.product .woocommerce-product-gallery img {
    width: 100%;
    height: auto;
}

.site-search {
    margin-bottom: 0;
}

header .phone img {
    transform: rotate(20deg);
}

header .phone a {
    font-size: 24px;
    line-height: 20px;
}

header .phone a:hover {
    text-decoration: underline;
}

header.site-header {
    //background: var(--main-color);
}

header button.menu-toggle,
header button.menu-toggle:hover {
    color: #333333;
}

.main-navigation ul li {
    border-bottom: 1px solid #333;
}

.main-navigation ul li:last-child {
    border-bottom: none;
}

@media (min-width: 768px) {

    header.site-header {
        background: transparent;
    }

    .site-header .site-branding img {
        height: auto;
        max-width: 140px;
        max-height: none;
    }

    .site-header-cart .cart-contents,
    .main-navigation ul.menu>li>a,
    .main-navigation ul.nav-menu>li>a {
        padding-top: 1em;
        padding-bottom: 1em;
    }

    .storefront-primary-navigation {
        background: var(--main-color);
    }

    .main-navigation ul li a,
    .site-title a,
    ul.menu li a,
    .site-branding h1 a,
    button.menu-toggle,
    button.menu-toggle:hover,
    .handheld-navigation .dropdown-toggle {
        color: white;
    }

    .main-navigation ul li {
        border-bottom: none;
    }

    .main-navigation ul li a:hover,
    .main-navigation ul li:hover>a,
    .site-title a:hover,
    .site-header ul.menu li.current-menu-item>a {
        color: white;
        background: #333;
    }

}

a.cart-contents:hover,
.site-header-cart .widget_shopping_cart a:hover,
.site-header-cart:hover>li>a {
    color: white;
}

.site-header ul.menu li.current-menu-item>a {
    padding: 1em;
}

a.cart-contents:hover,
.site-header-cart .widget_shopping_cart a:hover,
.main-navigation ul.menu ul li a,
.main-navigation ul.nav-menu ul li a {
    color: #333333;
}

.site-header ul.menu li.current-menu-item ul.sub-menu li>a,
.main-navigation ul.nav-menu ul li.focus,
.main-navigation ul.nav-menu ul li.current-menu-item:hover>a {
    color: #333333;
    background-color: rgba(0, 0, 0, 0);
}


.single-product div.product .single_variation .price {
    font-size: 22px;
}

.single-product div.product .single_variation .price .woocommerce-Price-amount {
    color: var(--main-color);
}

@media (max-width: 767px) {
    .single-product div.product .woocommerce-product-rating {
        margin-top: 10px;
    }
}

.compare:not(.textlink) {
    display: none;
}

.product_meta a {
    padding: 0 10px;
}

.product_meta a:first-child {
    padding-left: 0;
}

.product_meta img {
    display: inline-block;
    position: relative;
    top: 6px;
    margin-right: 5px;
}

.cta-banners {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    width: 100%;
}

@media (min-width: 768px) {
    .cta-banners {
        flex-direction: row;
    }
}

.cta-banners a {
    display: inline-block;
    width: 100%;
}

.cta-banners a img {
    width: 100%;
}

.ctas {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 15px;
}

@media (min-width: 768px) {
    .ctas {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.ctas a {
    transition: all 500ms cubic-bezier(.2, .3, 0, 1);
    transform: scale(0.95);
}

.ctas a img {
    width: 100%;
}

.ctas a:hover {
    transform: scale(1);
}

ul.products,
.wc-block-grid__products,
.wc-block-grid .wc-block-grid__products {
    display: grid;
    gap: 30px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 40px;
}

.wc-block-grid.has-1-columns .wc-block-grid__products {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.wc-block-grid.has-3-columns .wc-block-grid__product {
    max-width: 100% !important;
}

@media (min-width: 600px) {

    ul.products.columns-4,
    ul.products.columns-3 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    ul.products.columns-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    
}

@media (min-width: 992px) {
    ul.products.columns-3,
    .has-3-columns .wc-block-grid__products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    ul.products.columns-6 {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }
}

ul.products::before,
ul.products::after {
    content: none;
}

ul.products li.product,
ul.products .wc-block-grid__product,
.wc-block-grid__products li.product,
.wc-block-grid__products .wc-block-grid__product {
    margin-bottom: 0;
}

.site-main ul.products.columns-3 li.product,
.site-main ul.products.columns-4 li.product,
.site-main ul.products.columns-6 li.product,
.page-template-template-fullwidth-php .site-main ul.products.columns-3 li.product,
.page-template-template-fullwidth-php .header-widget-region ul.products.columns-3 li.product,
.page-template-template-homepage-php .site-main ul.products.columns-3 li.product,
.page-template-template-homepage-php .header-widget-region ul.products.columns-3 li.product,
.storefront-full-width-content .site-main ul.products.columns-3 li.product,
.storefront-full-width-content .header-widget-region ul.products.columns-3 li.product,
.page-template-template-fullwidth-php .site-main ul.products.columns-4 li.product,
.page-template-template-fullwidth-php .header-widget-region ul.products.columns-4 li.product,
.page-template-template-homepage-php .site-main ul.products.columns-4 li.product,
.page-template-template-homepage-php .header-widget-region ul.products.columns-4 li.product,
.storefront-full-width-content .site-main ul.products.columns-4 li.product,
.storefront-full-width-content .header-widget-region ul.products.columns-4 li.product,
.page-template-template-fullwidth-php .site-main ul.products.columns-6 li.product,
.page-template-template-fullwidth-php .header-widget-region ul.products.columns-6 li.product,
.page-template-template-homepage-php .site-main ul.products.columns-6 li.product,
.page-template-template-homepage-php .header-widget-region ul.products.columns-6 li.product,
.storefront-full-width-content .site-main ul.products.columns-6 li.product,
.storefront-full-width-content .header-widget-region ul.products.columns-6 li.product {
    width: auto;
    float: none;
    margin-right: 0;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

ul.products li.product .woocommerce-LoopProduct-link,
ul.products .wc-block-grid__product .woocommerce-LoopProduct-link,
.wc-block-grid__products li.product .woocommerce-LoopProduct-link,
.wc-block-grid__products .wc-block-grid__product .woocommerce-LoopProduct-link {
    margin-bottom: auto;
}

.desktop.ctas {
    display: none;
}

@media (min-width: 768px) {
    .mobile.ctas {
        display: none;
    }

    .desktop.ctas {
        display: grid;
    }
}

.woocommerce-tabs ul.tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {

    .single-product div.product .woocommerce-product-gallery {
        width: 48%;
        margin-right: 4%;
    }

    .single-product div.product .summary {
        width: 48%;
    }

    .woocommerce-tabs ul.tabs {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 0;
    }
}

.woocommerce-tabs ul.tabs li a {
    padding: 1em;
}

.woocommerce-tabs ul.tabs li.active a,
.woocommerce-tabs ul.tabs li:hover a {
    color: white;
    background: var(--main-color);
}

.woocommerce-tabs ul.tabs li.active::after {
    color: white;
    right: 1em;
}

body.left-sidebar:not(.post-type-archive-product, .tax-product_cat, .page, .blog, .single-post) .content-area,
body.left-sidebar.home .content-area,
body.woocommerce-cart .content-area, 
body.woocommerce-checkout .content-area {
    width: 100%;
    float: none;
    margin-right: 0;
}

.cross-sells ul.products li.product img {
    width: auto;
    max-height: 100px;
}

.widget-area .widget {
    margin-bottom: 0;
}


.widget-area .widget h3 {
    margin-bottom: 0;
}

.widget-area .widget .wc-block-components-filter-reset-button {
    display: none;
}

.widget-area .widget .wc-blocks-components-form-token-field-wrapper .components-form-token-field__input-container input[type=text].components-form-token-field__input {
    min-height: 25px;
}

.storefront-full-width-content .up-sells>h2:first-child,
.storefront-full-width-content .related.products>h2:first-child {
    text-align: left;
}

.related.products {
    display: none;
}

.related>h2:first-child,
.upsells>h2:first-child {
    margin-bottom: 8px;
}

.brand-logo {
    display: flex;
    justify-content: end;
}

.brand-logo img {
    max-width: 100%;
    width: 190px;
}

.handheld-navigation,
.nav-menu,
.main-navigation div.menu>ul:not(.nav-menu) {
    transition: all ease 0s;
}

.flex {
    display: flex;
}

.justify-between {
    justify-content: space-between;
}

.items-center {
    align-items: center;
}

.newsletter-form {
    padding: 10px 0;
    background: var(--main-color);
}

.newsletter-form-inner {
    align-items: center;
    justify-content: space-between;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.newsletter-form h2 {
    text-align: center;
    color: white;
    text-transform: uppercase;
    display: inline-block;
    margin-bottom: 0;
}

.newsletter-form form {
    display: inline-block;
    margin-bottom: 0;
    width: 100%;
    max-width: 450px;
}

.mc-field-group {
    width: calc(100% - 122px);
    max-width: 366px;
}

.newsletter-form input[type=email] {
    width: 100%;
}

.newsletter-form #mc_embed_signup_scroll {
    display: flex;
}

@media (min-width: 992px) {
    .newsletter-form-inner {
        flex-direction: row;
    }

    .newsletter-form h2 {
        text-align: left;
    }
}

footer.site-footer {
    background: #272727;
    color: white;
    padding: 50px 0;
}

.footer-widgets {
    padding-top: 0;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 30px;
}

@media (min-width: 600px) {
    .footer-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 992px) {
    .footer-widgets {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.footer-widgets p {
    font-size: 15px;
}


.footer-widgets::before,
.footer-widgets::after {
    content: none;
}


.footer-widgets.col-4 .block {
    width: auto;
    margin-right: 0;
    float: none;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget .widget-title,
.site-footer .widget .widgettitle {
    color: white;
}

.site-footer a:not(.button):not(.components-button) {
    color: white;
    text-decoration: none;
}

.site-footer a:not(.button):not(.components-button):hover {
    text-decoration: underline;
}

.widget {
    margin: 0;
}

.widget sub {
    top: 0;
}

#block-25 ul {
    display: flex;
    line-height: 16px;
    flex-direction: column;
    gap: 15px;
}

#block-27 {
    font-size: 14px;
}

#copyright {
    padding: 20px 0;
    background: #222;
    color: white;
}

#copyright .copyright-inner {
    display: flex;
    flex-direction: row;
    gap: 25px;
    justify-content: space-between;
    align-items: center;
}

#copyright a:hover {
    text-decoration: underline;
}

#copyright p {
    margin-bottom: 0;
    font-size: 15px;
}

#copyright p.has-small-font-size {
    font-size: 12px;
}

@media (max-width: 767px) {
    #copyright {
        padding-bottom: 90px;
    }
}

.category-banner {
    position: relative;
    padding: 30px 0;
}

.title-description {
    position: relative;
    z-index: 1;
}

body:not(.page-template-template-ebikeshome) .title-description h1,
body:not(.page-template-template-ebikeshome) .title-description p {
    color: white;
}

.title-description p:last-child {
    margin-bottom: 0;
}

.category-banner:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
}

img.background-image {
    position: absolute;
    object-fit: cover;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.yith-wcan-filters .yith-wcan-filter .price-slider.both {
    padding: 0;
}

.yith-wcan-filters .yith-wcan-filter .price-slider.both .price-slider-min, .yith-wcan-filters .yith-wcan-filter .price-slider.both .price-slider-max {
    padding: 5px;
    width: 60px;
}

ul.subcategories {
    list-style: none;
    margin: 0 0 3.706325903em;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
}

@media (min-width: 600px) {
    ul.subcategories {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 768px) {
    .storefront-breadcrumb {
        margin-bottom: 0;
    }
}

@media (min-width: 992px) {
    ul.subcategories {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

ul.subcategories li {
    display: flex;
    align-items: center;
    
}

ul.subcategories li a {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

ul.subcategories li a img {
    transition: all 500ms cubic-bezier(.2, .3, 0, 1);
    transform: scale(0.95);
}

ul.subcategories li a:hover img {
    transform: scale(1);    
}

ul.subcategories .woocommerce-loop-category__title {
    font-size: 16px;
    padding-top: 10px;
}

.subcat_wrapper {
    height: 70px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.descfull {
    margin-bottom: 20px;
}

body.cat-display-type-subcategories #secondary #block-37,
body.cat-display-type-subcategories #secondary .widget_yith-woocommerce-ajax-navigation-filters {
    display: none;
}



/* accordion  */
.accordions .accordion {
    margin-bottom: 30px;
}

.ui-accordion-header {
    font-size: 20px;
}

.ui-accordion-header:hover {
    cursor: pointer;
}


/* swiper */
.swiper {
    width: 100%;
    height: auto;
    margin-bottom: 30px;
}

@media (min-width: 641px) {
    .swiper a {
        display: flex;
        justify-content: center;
    }
}

.swiper .mobile-image {
    width: 100%;
}

body.page-template-template-ebikeshome .site-header {
    margin-bottom: 0 !important;
}

body.page-template-template-ebikeshome h1 {
    text-align: center;
}


ul.products li.product, ul.products .wc-block-grid__product, .wc-block-grid__products li.product, .wc-block-grid__products .wc-block-grid__product {
    font-size: 1em;
}

.wc-block-grid__product-title {
    color: #333333 !important;
}

.wc-block-grid__product .wc-block-grid__product-add-to-cart {
    margin: 0 !important;
}

.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link {
    width: 100%;
}

.wp-block-heading a {
    color: #333333;
    text-decoration: none;
}

.wp-block-heading a:hover {
    text-decoration: underline;
}


/* blog */

body.blog #yith-woocommerce-ajax-navigation-filters-2,
body.blog #block-37 {
    display: none;
}

body.blog #main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
}

@media (max-width: 640px) {
    body.blog #main {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }    
}

body.blog .post {
    background: rgba(67, 175, 162, 0.08) !important;
}

body.blog .post a {
    color: #333;
}

body.blog .post .wp-post-image {
    margin-bottom: 0;
}

body.blog .post .entry-header .entry-title,
body.blog .post .entry-content p:last-child {
    margin-bottom: 0;
}

body.blog .post .entry-header,
body.blog .post .entry-content {
    margin-bottom: 0 !important;
    padding: 20px;
}

body.single-post .entry-header {
    text-align: center;
    margin-bottom: 0 !important;
}

body.single-post .entry-header .strap-line {
    font-size: 22px;
}

body.single-post .entry-header .strap-line p {
    margin-bottom: 15px;
}


/* novuna */
body.woocommerce-cart #PBFPopup {
    display: none !important;
}


body.single-product a.reset_variations {
    display: none !important;
}

.soldout-badge {
    color: #ffffff;
    background: #7F7F7F;
    font-size: 12px;
    padding-top: 3px;
    padding-right: 8px;
    padding-bottom: 3px;
    padding-left: 8px;
    font-weight: bold;
    width: auto;
    height: auto;
    border-radius: 0px;
    z-index: 9999;
    text-align: center;
    position: absolute;
    top: 6px;
    right: auto;
    bottom: auto;
    left: 6px;
}

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
    margin-bottom: 1em;
}


.modal-container {
    transition: all 350ms ease-in-out;
}

.modal-container .modal {
    transition: all 350ms ease-in-out;
}


.modal-container.modal-closed {
    opacity: 0;
    pointer-events: none;
}

.modal-container.modal-closed .modal {
    transform: scale(0.8);
}

.modal-container  p:last-child {
    margin-bottom: 0;
}


.modal-toggle {
	cursor: pointer;
	background: #46aee4;
	color: white;
	padding: 5px 10px 20px;
	position: fixed;
	inset: auto -10px 50% auto;
  transform: rotate(270deg) translateX(50%);
  transform-origin: right bottom;
	border-radius: 5px 5px 0 0 ;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 4px 12px 0px;
}

.modal-toggle:hover {
	background: black;
}

#modal-close {
	cursor: pointer;
}

.latest-posts {
    margin-top: 20px;
}

.latest-posts h2 {
    margin-bottom: 10px;
}

.latest-posts a {
    color: #333333;
    display: block;
    margin-bottom: 10px;
}

.latest-posts a:hover {
    color: var(--main-color);
}

body.single-post .entry-header {
    margin-bottom: 50px !important;
    border-bottom: none;
}