/*
 + --------------------------------------------------
 |  Root
 + --------------------------------------------------
 */
.block {
    margin-top: 5rem;
}
.block-wrap {
    width: var(--grid-wrap);
    padding: 4rem 4rem 0;
}
.site-block {
    margin-top: 5rem;
}
.site-subtitle {
    max-width: 80%;
}

.product-scroll {
    /*grid-auto-columns: minmax(19%, 1fr);*/
    grid-auto-columns: 19%;
}
.site-products {
    grid-template-columns: repeat(4, 1fr);
}
.site-articles {
    grid-template-columns: repeat(4, 1fr);
}

.page-wrap {
    width: 80rem;
    padding: 5rem;
    margin-top: 7rem;
}


/*
 + --------------------------------------------------
 |  Header
 + --------------------------------------------------
 */
#headerLogo {
    width: calc(4 * var(--grid-width))
}
#headerLogo img {
    max-width: 50%;
    max-height: 50%;
}

#headerMenu {
    --size: 4rem;
    margin-left: 4rem;
}
#headerProps {
    column-gap: 4rem;
}
#headerProps .search-form {
    --fm-height: 5rem;
    width: 40rem;
}
#headerSupport svg {
    fill: var(--color-primary-black-1)
}
#headerFeature .feature-icon {
    width: var(--topbar-height);
}


/*
 + --------------------------------------------------
 |  Footer
 + --------------------------------------------------
 */
#footer {
    --grid-wrap: 96rem;
    margin-top: 15rem;
}
#footerPower .power-list {
    grid-column-gap: 5rem;
}
#footerTruck .car {
    animation-duration: 20s;
}


/*
 + --------------------------------------------------
 |  Home
 + --------------------------------------------------
 */
#banner {
    margin-top: 2rem;
}
#home .block-categories .block-wrap {
    display: grid;
    grid-template-columns: 30rem auto;
    grid-column-gap: 3rem;
}
#home .block-menu {
    display: block;
}
#home .cat-title,
#home .block-title {
    font-size: 2em;
}

#home .cat-head {
    margin-top: 3rem;
}
#home .cat-menu {
    grid-template-columns: 1fr;
}
#home .cat-menu a {
    font-size: 1.6rem;
}
#home .cat-product {
    margin-top: 0;
    grid-gap: 3rem 1.5rem;
}

#homeBestSell .block-body {
    grid-template-columns: repeat(3, 1fr);
}

/* ------------------------------ */

#banner .wrapper {
    display: grid;
    grid-template-columns: 32rem auto;
}
#bannerMenu {
    display: block;
    position: relative;
}
#bannerMenu .menu-main {
    width: 100%;
    height: 100%;
    padding: 2rem;
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--white-1);
    border-radius: var(--border-radius) 0 0 var(--border-radius);
    position: absolute;
    top: 0;
    left: 0;
}
#bannerMenu .menu-main[status=extra] {
    overflow-y: hidden;
}
#bannerMenuTop {
    width: 100%;
    height: 4rem;
    display: block;
    overflow-x: auto;
    position: relative;
}
#bannerMenuTop nav {
    width: 100%;
    height: 100%;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
    grid-auto-columns: min-content;
    position: absolute;
    top: 0;
    left: 0
}
#bannerMenuTop a {
    padding-inline: 2rem;
    white-space: nowrap;
    color: var(--color-primary-black-1)
}
#bannerSlide {
    border-radius: 0 var(--border-radius) var(--border-radius) 0;
}


/*
 + --------------------------------------------------
 |  Product
 + --------------------------------------------------
 */
.node-wrap {
    display: grid;
    align-items: start;
    grid-template-columns: 26rem auto;
    grid-column-gap: 4rem;
}
.node-menu {
    order: 1;
    margin-top: 6rem;
    position: sticky;
    top: 2rem;
}
.node-main {
    order: 2;
}


/*
 + --------------------------------------------------
 |  Product View
 + --------------------------------------------------
 */
#product,
#productView {
    margin-top: 2rem;
}
#productViewMain {
    display: grid;
    grid-template-columns: calc(12 * var(--grid-width)) calc(4 * var(--grid-width));
}
#productViewHead {
    display: flex;
    align-items: flex-start;
}
#productViewHead > * {
    width: 50%;
}
#productViewGallery {
    position: sticky;
    top: 1rem;
}
#productViewBase {
    margin-top: 0;
    padding: 0 4rem;
}
#productViewMain .base-action {
    /* width: calc(4 * var(--grid-width)); */
    margin-top: 0;
    position: sticky;
    top: 1rem;
    background: var(--black-5);
    border-radius: 2rem;
    padding: 2rem;
    box-shadow: var(--shadow-thin);
}
#header[status=show] + #productView .base-action {
    top: var(--topbar-height)
}
#productViewContent {
    width: calc(calc(12 * var(--grid-width)) - 4rem);
    margin-top: 6rem !important;
}
#productViewContent .base-content {
    width: 80%;
    margin-left: auto;
    margin-right: auto
}


/*
 + --------------------------------------------------
 |  Article View
 + --------------------------------------------------
 */
#article {
    margin-top: 2rem;
}
#article .site-articles {
    grid-template-columns: repeat(3, 1fr);
}
#article .site-articles .article-item:nth-of-type(6n + 1) {
    grid-row: span 2;
    grid-column: span 2
}
#articleView article {
    margin-top: 0;
}
#articleView article .wrapper {
    max-width: 96rem;
}
#articleView .view-cover {
    aspect-ratio: 3/1
}
#articleView .view-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
#articleView h1 {
    font-size: 3em;
    bottom: 4em
}
#articleView .view-body {
    margin-top: -8em;
    padding: 4rem 8rem;
}
#articleView .other {
    margin-top: 10rem;
}