/* Typography */
body {
    font-family: 'Roboto', 'Open Sans', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    color: var(--text-color);
}

header {
    background-color: var(--header-bg-color) !important;
}

#header-section:not(.elementor-element-edit-mode) {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1000;
}

footer {
    background-color: var(--footer-bg-color) !important;
}

footer > div {
    background-color: inherit !important;
}

h1, h2, h3, h4, h5, h6,
p, ul, ol, li, a {
    font-family: 'Roboto', 'Open Sans', sans-serif !important;
    color: var(--text-color);
}

.white-text,
.white-text p {
    color: #ffffff !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'Roboto', 'Open Sans', sans-serif !important;
    font-weight: 700 !important;
}

/* Headings - Desktop */
h1 {
    font-size: 4rem !important;
    line-height: 72px !important;
}

h2 {
    font-size: 3rem !important;
    line-height: 56px !important;
}

h3 {
    font-size: 2.5rem !important;
    line-height: 48px !important;
}

h4 {
    font-size: 2rem !important;
    line-height: 40px !important;
}

h5 {
    font-size: 1.5rem !important;
    line-height: 28px !important;
}

h6 {
    font-size: 1.25rem !important;
    line-height: 24px !important;
}

h2.woocommerce-loop-product__title {
    font-size: 1.25rem !important;
    line-height: 24px !important;
}

/* Links */
a {
    color: var(--link-color);
    text-decoration: none !important;
}

/* Links */
a:hover {
    color: var(--link-hover-color);
}

a:not(.elementor-button) a:not(.elementor-item-anchor):not(.button):not(.woocommerce-loop-product__link):hover {
    text-decoration: underline !important;
}

.menu-item a {
    color: var(--menu-link-color) !important;
}

.menu-item a:hover {
    fill: none !important;
    color: var(--menu-link-hover-color) !important;
    text-decoration: none !important;
}

.menu-item a:after {
    background-color: inherit !important;
}

.woocommerce-additional-fields {
    display: none !important;
}

a .woocommerce-loop-product__title {
    color: var(--menu-link-color) !important;
}

a:hover .woocommerce-loop-product__title {
    color: var(--menu-link-hover-color) !important;
}

.woocommerce nav.woocommerce-pagination ul li {
    padding: 0 5px !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
    padding: 10px 20px 10px 20px !important;
    color: var(--link-color) !important;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
    color: var(--link-color) !important;
    background-color: #FFFFFF !important;
    border-color: var(--link-color) !important;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-radius: 5px 5px 5px 5px;
    padding: 9px 19px 9px 19px !important;
}

.price {
    color: var(--text-color) !important;
}

/* Layout */
.elementor-container {
    max-width: var(--container-width) !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

.e-con {
    --padding-top: 5%;
    --padding-bottom: 5%;
    --padding-left: 5%;
    --padding-right: 5%;
}

/* Buttons */
button,
.button,
.elementor-button {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    padding: 12px 24px !important;
    border-radius: 5px !important;
    border: none !important;
    background-color: var(--button-bg-color) !important;
    cursor: pointer !important;
    text-transform: capitalize !important;
}

button:hover,
.button:hover,
.elementor-button:hover {
    background-color: var(--button-bg-hover-color) !important;
    text-decoration: none !important;

}

.elementor-widget-woocommerce-my-account .woocommerce .woocommerce-notices-wrapper + h2 {
    display: none;
}

/* Tablet Typography */
@media (max-width: 1024px) {
    body {
        font-size: 1rem !important;
        line-height: 24px !important;
    }

    h1 {
        font-size: 3rem !important;
        line-height: 56px !important;
    }

    h2 {
        font-size: 2.5rem !important;
        line-height: 48px !important;
    }

    h3 {
        font-size: 2rem !important;
        line-height: 40px !important;
    }

    h4 {
        font-size: 1.5rem !important;
        line-height: 28px !important;
    }

    h5 {
        font-size: 1.25rem !important;
        line-height: 24px !important;
    }

    h6 {
        font-size: 1rem !important;
        line-height: 20px !important;
    }
}

/* Mobile Typography */
@media (max-width: 768px) {
    body {
        font-size: 1rem !important;
        line-height: 24px !important;
    }

    h1 {
        font-size: 2rem !important;
        line-height: 40px !important;
    }

    h2 {
        font-size: 1.5rem !important;
        line-height: 28px !important;
    }

    h3 {
        font-size: 1.25rem !important;
        line-height: 24px !important;
    }

    h4 {
        font-size: 1rem !important;
        line-height: 20px !important;
    }

    h5 {
        font-size: 1rem !important;
        line-height: 20px !important;
    }

    h6 {
        font-size: 1rem !important;
        line-height: 20px !important;
    }
}
