@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

* {
    margin: 0;
    padding: 0;
}

body {
    font-family: "Roboto", sans-serif;
    position: relative;
}

a {
    text-decoration: none;
}

:root {
    --primary-gray-color: #4A4A4A;
    --primary-light-gray-color: #6E6E6E;
    --primary-blue-color: #005180;
    --primary-pink-color: #E5978B;
    --container-with: 1204px;
    --header-high: 80px;
}

.container {
    max-width: var(--container-with);
    margin: 0 auto;
    padding: 0 20px;
}

.btn {
    display: inline-block;
    width: 152px;
    height: 52px;
    line-height: 52px;
    font-weight: 700;
    background-color: var(--primary-blue-color);
    color: white;
    border-radius: 4px;
    text-align: center;
    font-weight: 20px
}


.main-header,
.main-mobile-header {
    display: flex;
    background-color: var(--primary-blue-color);
    height: var(--header-high);
}

.main-header>nav,
.main-mobile-header>nav {
    flex: 1;
}

.main-header>.logo,
.main-mobile-header>.logo {
    width: 121px;
    height: 32px;
    background-image: url("../svgs/logo.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    margin-left: 50px;
    margin-top: 24px;
}

.main-header nav {
    display: flex;
    gap: 30px;
    margin-left: 50px;
    line-height: var(--header-high);
}

.main-header a {
    color: white;
}

.main-header nav a.highlight {
    font-weight: 900;
}


.main-header>input[type="search"] {
    width: 204px;
    height: 48px;
    margin-top: 16px;
    margin-left: auto;
    border-radius: 4px;
    border: none;
    padding: 12px 8px 12px 36px;
    outline: none;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23005180'><path d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99 1.49-1.49-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/></svg>");
    background-size: 24px 24px;
    background-position: 10px center;
    background-repeat: no-repeat;
}

.main-header>input[type="search"]::placeholder {
    color: var(--primary-blue-color);
}

.main-header .login {
    line-height: var(--header-high);
    margin-left: 40px;
}

.main-header .cart-icon {
    width: 24px;
    height: 24px;
    margin-top: 28px;
    margin-left: 40px;
    margin-right: 50px;
    background-image: url("../svgs/cart.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 24px 24px;
}

.main-mobile-header {
    display: none;
}

@media screen and (max-width: 1204px) {
    .main-header {
        display: none;
    }

    .main-mobile-header {
        display: flex;
    }
}

/* Mobile Header*/

.main-mobile-header {
    justify-content: flex-start;
}

.main-mobile-header>.logo {
    margin-left: 0;
}

.mobile-menu-btn {
    width: 24px;
    height: 24px;
    margin-top: 28px;
    margin-left: 40px;
    margin-right: 16px;
    background-image: url("../svgs/menu.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 24px 24px;
}

.main-mobile-header>nav {
    display: none;
    position: fixed;
    width: 100%;
    background: white;
    box-shadow: 0 8px 6px -6px #000;
    z-index: 10;
}

.main-mobile-header>nav.showed {
    display: block;
}

.main-mobile-header>nav a {
    display: block;
    height: 64px;
    line-height: 64px;
    font-size: 18px;
    font-weight: 400;
    padding-left: 32px;
    color: var(--primary-light-gray-color);
}

.main-mobile-header>nav a.highlight {
    color: white;
    background-color: var(--primary-blue-color);
    font-weight: 700;
}

.main-mobile-header>nav .close {
    background-image: url("../svgs/x.svg");
    background-repeat: no-repeat;
    background-position: 30px;
    background-size: contain;
    background-size: 17px 17px;
}

.main-mobile-header .spacer {
    flex-grow: 1;
}

.main-mobile-header .search-icon {
    width: 24px;
    height: 24px;
    margin-top: 28px;
    background-image: url("../svgs/search.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 24px 24px;
    margin-right: 20px;
}

.main-mobile-header .cart-icon {
    width: 24px;
    height: 24px;
    margin-top: 28px;
    background-image: url("../svgs/cart.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 24px 24px;
    margin-right: 16px;
}

.banner-section {
    height: 500px;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.content {
    text-align: center;
    color: white;
}

.banner-section h2 {
    font-size: 70px;
    margin-bottom: 20px;
}

.banner-section h3 {
    font-size: 50px;
    margin-bottom: 32px;
}

.banner-section p {
    font-size: 35px;
}

.banner-section a {
    display: inline-block;
    width: 230px;
    height: 40px;
    line-height: 40px;
    font-weight: 700;
    background-color: var(--primary-pink-color);
    margin-top: 45px;
    color: white;
    border-radius: 3px;
}

/* @media screen and (min-width: 1024px) and (max-width: 1204px) {

} */

@media screen and (max-width: 1023px) {
    .banner-section h2 {
        font-size: 26px;
        margin-bottom: 10px;
    }

    .banner-section h3 {
        font-size: 26px;
        margin-bottom: 16px;
    }

    .banner-section p {
        font-size: 14px;
    }

    .banner-section a {
        margin-top: 22px;
    }
}


.cate-header {
    display: flex;
    justify-content: space-between;
    width: 100%;
    line-height: 40px;
}

.cate-header h3 {
    font-weight: 700;
    font-size: 40px;
    color: var(--primary-blue-color);
}

.cate-header a {
    color: var(--primary-blue-color);
    font-weight: 500;
    font-size: 24px;
}


@media screen and (max-width: 1023px) {
    .cate-header {
        line-height: 40px;
    }

    .cate-header h3 {
        font-size: 20px;
        color: var(--primary-blue-color);
    }

    .cate-header a {
        font-size: 12px;
    }
}

.products-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(278px, 1fr));
    justify-content: start;
    justify-items: center;
    /* 让最后一行左对齐 */
    gap: 17px;
    list-style: none;
    color: var(--primary-gray-color);
    font-size: 20px;
    text-align: center;
}

.products-list a {
    color: var(--primary-gray-color);
}

.products-list li {
    max-width: 350px;
    margin-bottom: 73px;
}

.products-list img {
    width: 100%;
    height: auto;
}

.products-list .product-name {
    font-weight: 700;
    margin-top: 22px;
    margin-bottom: 8px;
}

.products-list .product-price {
    font-weight: 400;
}

.products-list .btn {
    width: 168px;
    font-size: 18px;
    margin-top: 30px;
    color: white;
}

.main-footer {
    background: var(--primary-blue-color);
    font-size: 14px;
    font-weight: 500;
    padding-top: 40px;
}

.main-footer,
.main-footer a {
    color: rgba(255, 255, 255, 0.8);
}

.main-footer>.container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.main-footer .footer-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.main-footer h5 {
    color: white;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 18px;
}

.main-footer p {
    line-height: 22px;
}

.main-footer ul {
    list-style: none;
}

.main-footer ul li {
    line-height: 21px;
    margin-bottom: 10px;
}

.main-footer .footer-item {
    width: 275px;
    margin-right: 10px;
    margin-bottom: 38px;
}

.main-footer .email-form {
    display: inline-block;
    border: 1px solid white;
    margin-top: 17px;
}

.main-footer .email-form input {
    background-color: var(--primary-blue-color);
    outline: none;
    border: none;
    width: 160px;
    height: 31px;
    padding: 0 10px;
    color: white;
}

.main-footer .email-form input::placeholder {
    color: white
}

.main-footer .email-form button {
    background-color: white;
    border: none;
    outline: none;
    width: 64px;
    height: 33px;
}

.main-footer .guaranteed a {
    text-decoration: underline;
}

.main-footer .external-links {
    display: flex;
    margin-top: 19px;
    gap: 30px;
}

.main-footer .external-links a {
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-size: 24px 24px;
}

.main-footer .external-links .icon-twitter {
    background-image: url("../svgs/twitter.svg");
}

.main-footer .external-links .icon-facebook {
    background-image: url("../svgs/facebook.svg");
}

.main-footer .external-links .icon-instagram {
    background-image: url("../svgs/instagram.svg");
}

.main-footer .external-links .icon-linkedin {
    background-image: url("../svgs/linkedIn.svg");
}

.main-footer .external-links .icon-pinterest {
    background-image: url("../svgs/pinterest.svg");
}

.pay-methods {
    margin-top: 45px;
    height: 70px;
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: contain;
    background-size: 166px 24px;
    background-image: url("../svgs/pay_method.svg");
}

.main-footer .copyright {
    font-size: 11.5;
    text-align: center;
    padding-bottom: 15px;
}

@media screen and (max-width: 1204px) {
    #overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.7);
        z-index: 5;
    }
}

.breadcrumb {
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 20px;
}

.breadcrumb a {
    color: var(--primary-blue-color);
}