/*
Theme Name: Every Fix
Author: UtNhim
Description: everyfix emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Version: 1.0.0
Text Domain: everyfix
*/
:root {
    /* --primary-color: #0c3a6d; */
    --primary-color: #005abd;
    --secondary-color: #ffdf59;
    --text-color: #3c3c3c;
}

body {
    margin: 0;
    background: #f4f4f4;
}

ul {
    list-style: none;
}

button {
    background: none;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

a {
    text-decoration: none;
    color: var(--primary-color);
    cursor: pointer;
}

header {
    background-color: var(--primary-color);
}
header.woocommerce-products-header{
    background-color: unset;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
    margin: 0;
}

main {
    min-height: calc(100vh - 240px);
    padding: 1rem;
    @media screen and (max-width: 768px) {
        padding: 0;
    }
}

.container,
nav,
main {
    max-width: 1248px;
    margin: auto;
}

nav ul {
    padding: 0;
    margin: 0;
}

nav ul a {
    font-weight: 600;
    padding: 0.5rem 0.75rem;
}

nav ul a:hover {
    color: var(--secondary-color);
    background-color: var(--primary-color);
}

nav form.search-form {
    width: 100%;
    background-color: white;
    border-radius: 8px;
}

nav form.search-form {
    display: flex;
    align-items: center;
    padding: 4px 8px;
}

nav form.search-form label {
    width: 100%;
}

nav form.search-form input {
    width: calc(100%);
    outline: none;
    border: none;
    padding: 8px;
    border-radius: 8px;
}

nav form.search-form button {
    background: none;
    border: none;
}

.custom-logo-link img {
    height: 48px;
    width: auto;
}

.menu,
.menu-top,
.menu-service {
    display: flex;
    align-items: center;
    gap: 16px;
    color: white;
    padding: 8px 0;
}

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

.menu-service {
    padding: 0 12px;
}

.menu-everyfix-container ul {
    width: 300px;
}

.menu a {
    color: white;
}

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

.menu-secondary-desktop {
    padding: 0.25rem;
}

.menu-everyfix-secodary-container {
    padding: 0.75rem 0;
}

.menu-mobile {
    position: relative;
}

.menu-top-mobile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px;
    gap: 8px;
}

.menu-top-mobile .custom-logo {
    height: 18px;
}

.menu-top-mobile button {
    align-items: center;
    background: none;
    border: none;
}

.menu-mobile ul {
    flex-direction: column;
    gap: 0;
    align-items: start;
    padding: 0;
    margin: 0;
}

.sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: -300px;
    width: 300px;
    height: 100vh;
    background-color: var(--primary-color);
    z-index: 1;
    color: white;
    transition: right 0.3s ease-in-out;
}

.sidebar.open {
    left: 0;
}

.sidebar ul li {
    width: 100%;
    border-bottom: 1px solid #a0a0a0;
}

.sidebar ul li a {
    display: flex;
    padding: 0.75rem 1rem;
}


.section-title {
    color: var(--primary-color);
    padding-bottom: 1rem;
}

.featured-news-section .news-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;

    @media screen and (max-width: 768px) {
        grid-template-columns: repeat(2, 1fr);
    }
}

.featured-news-section article {
    border-radius: 0.5rem;
    border: 1px solid #d6d6d6;
    background-color: white;
}

.featured-news-section article img {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.featured-news-section article header {
    margin: 0.75rem;
    background-color: white;
}

.featured-news-section article header .news-title a {
    color: var(--text-color);
}

.featured-news-section article .news-excerpt {
    padding: 0 1rem;
}

.d-flex {
    display: flex;
}

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

footer {
    background: var(--primary-color);
    padding: 1rem;
    color: white;
}

footer a {
    color: white;
}

footer .grid-footer {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

footer .grid-footer .col-footer:last-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

footer .grid-footer .col-footer .tong-dai {
    display: flex;
    gap: 1rem;
}

footer .grid-footer .col-footer ul {
    flex-direction: column;
    padding: 0;
    margin: 0;
    align-items: start;
}

footer .grid-footer .col-footer .title-footer {
    color: var(--secondary-color);
    padding-bottom: 0.5rem;
}

footer .grid-footer .col-footer ul li {
    text-align: start;
}

footer .grid-footer .col-footer .social {
    display: flex;
    gap: 1rem;
}

footer .grid-footer .col-footer .social a {
    display: flex;
    align-items: center;
}


.woocommerce:where(body:not(.woocommerce-uses-block-theme)) ul.products li.product .price {
    color: red;
}

.menu-item-has-children{
    position: relative;
}
.menu-item-has-children:hover .sub-menu{
    display: block;
}
.menu-item-has-children .sub-menu{
    position: absolute;
    display: none;
    padding: 0.5rem 0;
    background-color: var(--primary-color);
    width: 230px;
    border-radius: 0.5rem;
    top: 100%;
    z-index: 1;
}
.menu-item-has-children .sub-menu li{
    padding: 0.5rem;
}
.menu-item-has-children .sub-menu a{
    line-height: 1.4;
    padding: 0;
}

.p-3{
    padding: 8px;
}

@media screen and (min-width: 769px) {
    .menu-mobile {
        display: none;
    }
}

@media screen and (max-width: 768px) {

    .menu-desktop,
    .banner-left {
        display: none;
    }
    footer .grid-footer{
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem;
    }
    footer .grid-footer .col-footer{
        align-items: center;
        text-align: center;
    }
    footer .grid-footer .col-footer ul{
        align-items: center;
    }
}