/* Reset */

* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: "Sofia Pro"; font-size: 16px; font-style: normal; font-weight: 400; color: var(--dark); line-height: 30px; }
a { text-decoration: none; }
a:hover, a:active, a:focus { text-decoration: none; }

/* Colors */

:root {
    --primary: #ED2736;
    --white: #FFF;
    --light-gray: #F9F9F9;
    --gray: #484444;    
    --medium-gray: #E1DADA;
    --dark: #222;
    --color-1: #07E386;
    --color-2: #00A651;
    --color-3: #FDB913;
    --color-4: #ECD925;
    --color-5: #1856EE;    
    --color-6: #00B9FF;
    --color-7: #D01AAE;
    --color-8: #A26BFF;
    --eureciclo: #26D07C;    
    --card-hover: #F6F4F4;
    --title-size: 36px;
    --title-size-large: 60px;
    --vh: 100vh;
}

/* Helpers */

.sr-only,
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

/* Layout */

.container { margin: 0 auto; width: 100%; max-width: 1180px; }

.btn-secondary { display: flex; gap: 10px; padding: 26px 46px; width: fit-content; height: 54px; align-items: center; justify-content: center; font-size: 15px; color: var(--white); background: var(--dark); border: none; border-radius: 200px; }
.btn-icon { display: flex; align-items: center; justify-content: center; }
.btn-icon .btn-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }
.btn-outline { color: var(--dark); border: 1px solid var(--dark); background: transparent; }
.btn-link { display: inline-flex; gap: 10px; align-items: center; justify-content: center; font-size: 16px; color: var(--dark); background: none; border: none; }
.btn-color { display: flex; gap: 10px; padding: 26px 46px; width: fit-content; height: 54px; align-items: center; justify-content: center; font-size: 15px; color: var(--color-btn-text); background: var(--color-btn-bg); border: none; border-radius: 200px; }

/* Header */

.ntx-header { background: var(--white); }
.ntx-header.header--sticky { position: sticky; z-index: 999; top: 0; }
.ntx-header .container { display: flex; align-items: center; justify-content: space-between; }
.header--navs { display: flex; gap: 50px; align-items: center; }
.header--navs ul { list-style: none; display: flex; align-items: center; }
.header--navs ul li a { font-size: 16px; }
.header--navs ul li .icon-home { font-size: 18px; }
.header--navs .btn-menu-mobile-close { display: none; }

.ntx-nav-primary { display: flex; align-items: center; }
.ntx-nav-primary ul { gap: 22px; }
.ntx-nav-primary > ul > li { position: relative; }
.ntx-nav-primary ul li a { display: flex; align-items: center; height: 100%; color: var(--gray); transition: .4s; }
.ntx-nav-primary > ul > li > a { padding-top: 30px; padding-bottom: 30px; }
.ntx-nav-primary > ul > li > a:hover,
.ntx-nav-primary > ul > li.menu-item-has-children:hover > a,
.ntx-nav-primary > ul > li.current-menu-item > a,
.home .ntx-nav-primary .icon-home { color: var(--primary); }
.ntx-nav-primary ul li.menu-item-has-children a { padding-right: 16px; }
.ntx-nav-primary ul li.menu-item-has-children > a::after { content: "\e90b"; position: absolute; top: 50%; right: 0; margin-top: -16px; font-family: 'ntx-icons'; font-size: 10px; font-weight: 400 !important; height: 30px; }
.ntx-nav-primary ul li ul.sub-menu::after { content: " "; position: absolute; left: 0; top: -20px; width: 100%; height: 20px; background: var(--white); }
.ntx-nav-primary ul li ul.sub-menu::before { opacity: 0; content: " "; position: absolute; z-index: 999; right: 0; top: 0; width: 10px; height: 100%; background: var(--white); }
.ntx-nav-primary ul ul.sub-menu { visibility: hidden; opacity: 0; position: absolute; z-index: 99; top: 60px; left: -30px; display: flex; gap: 0; flex-direction: column; padding: 6px 30px; width: 192px; background: var(--white); border-radius: 0 0 10px 10px; box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10); transition: .4s; }
.ntx-nav-primary ul ul.sub-menu:has(> li.menu-item-has-children:hover) { border-radius: 0 0 0 10px; }
.ntx-nav-primary ul ul.sub-menu:has(> li.menu-item-has-children:hover)::before { opacity: 1; }
.ntx-nav-primary ul ul.sub-menu li { width: 100%; }
.ntx-nav-primary ul ul.sub-menu li a { position: relative; padding: 14px 0; line-height: 24px; border-bottom: 1px solid var(--medium-gray); }
.ntx-nav-primary ul ul.sub-menu li a:hover { font-weight: 600; color: var(--dark); }
.ntx-nav-primary ul ul.sub-menu .sub-menu-back  { display: none; }
.ntx-nav-primary ul li.menu-item-has-children:hover > ul.sub-menu { visibility: visible; opacity: 1; top: 90px; }
.ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li:last-child > a { border: none; }
.ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > a::after  { content: "\e90a"; margin-top: -17px; font-size: 18px; transform: rotate(-90deg); }
.ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children:hover > a { font-weight: 600; }
.ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu { visibility: hidden; opacity: 0; left: 192px; top: 30px; background: var(--light-gray); border-radius: 0px 0px 10px 10px; }
.ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children:hover > ul.sub-menu { visibility: visible; opacity: 1; top: 0; }

.ntx-nav-search .btn { width: 50px; height: 50px; color: var(--dark); border-radius: 200px; }

.ntx-nav-accessibility { display: flex; align-items: center; }
.ntx-nav-accessibility ul { gap: 10px; }
.ntx-nav-accessibility ul li { display: flex; align-items: center; }
.ntx-nav-accessibility ul li a { color: var(--gray); }
.ntx-nav-accessibility ul li .btn-icon { height: 26px; }

.ntx-logo,
.ntx-logo a { display: block; width: 120px; height: 50px; }
.ntx-logo a { text-indent: -99999px; background: transparent url(../images/neutrox-logo.svg) left center no-repeat; background-size: 100%; }

/* Pages */

.ntx-page { overflow: hidden; padding: 30px 0 0; background: var(--color-bg); }
.home .ntx-page { padding: 0; }

.page--breadcrumb { position: relative; z-index: 9; display: flex; }
.page--breadcrumb .breadcrumb { list-style: none; display: flex; gap: 6px; font-size: 14px; }
.page--breadcrumb .breadcrumb a { color: var(--dark); }
.page--breadcrumb .breadcrumb .item-current { font-weight: 600; }

.page--title { font-size: var(--title-size); color: var(--dark); }

.page-template-template-container .page--content > .page--title { margin: 50px 0; text-align: center; }
.page-template-template-container .page--content > .container .wp-block-heading { margin-bottom: 10px; }
.page-template-template-container .page--content > .container p { margin-bottom: 30px; }
.page-template-template-container .page--content > .container p:last-of-type { padding-bottom: 90px; }
.page-template-template-container .page--content > .container p a { color: var(--dark); }

/* Blocks */

.block--title { font-size: var(--title-size); color: var(--dark); text-align: center; }

/* Cards */

.cards { display: flex; gap: 20px; flex-wrap: wrap; }
.card { overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: 20px; height: 100%; color: var(--dark); text-align: center; border: 1px solid var(--medium-gray); border-radius: 10px; transition: .4s; }
.card .card--image img,
.card .card--image-hover img { display: block; margin: 8px auto 0; width: 120px; height: 159px; object-fit: contain; }
.card .card--title { display: block; margin: 13px 0 20px; font-size: 22px; font-weight: 600; text-align: center; }
.card .card--title span,
.card .card--descripton span { display: block; }
.card .card--footer { display: flex; justify-content: center; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--medium-gray); }
.card-img { position: relative; width: 100%; height: 100%; border: none; }
.card-img .card--image img { position: absolute; top: 0; left: 0; margin: 0; width: 100%; height: 100%; object-fit: cover; }
.card-cover { justify-content: flex-start; padding: 0 0 54px; border: none; --color: var(--color-3); }
.card-cover .card--image::before { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 189px; background: var(--color); }
.card-cover .card--image img,
.card-cover .card--image-hover img { position: relative; z-index: 2; margin-bottom: 23px; width: 100%; height: 237px; }
.card-cover .card--image-hover { visibility: hidden; opacity: 0; position: absolute; z-index: 9; width: 100%; transition: .8s; }
.card-cover .card--title { margin-top: 30px; font-size: 28px; line-height: 32px; }
.card-cover .card--title,
.card-cover .card--body { text-align: left; }
.card-cover .card--body { border-top: 1px solid var(--medium-gray); }
.card-cover:hover .card--image img { visibility: hidden; opacity: 0; }
.card-cover:hover .card--image-hover { visibility: visible; opacity: 1; }

.card-cover .card--image.card--image--banner::before,
.card-cover .card--image-hover.card--image--banner::before { display: none; }
.card-cover .card--image.card--image--banner img,
.card-cover .card--image-hover.card--image--banner img { margin-top: 0; margin-bottom: 0; height: 268px; object-fit: cover; }
.card-cover .card--image--banner + .card--body { border-color: transparent; }

/* Sliders */

.swiper {
    --swiper-pagination-color: var(--dark);
    --swiper-pagination-bullet-inactive-color: var(--medium-gray);
    --swiper-pagination-bullet-inactive-opacity: 1;
    --swiper-pagination-bullet-horizontal-gap: 10px;
}
.swiper .swiper-slide { height: auto; }
.swiper .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet { transition: .4s; transform: translateY(-2px); }
.swiper .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet-active,
.swiper .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active { margin-top: 0; width: 19px; height: 12px; border-radius: 20px; transform: translateY(0); }
.swiper .swiper-pagination { height: 21px; }

/* Footer */

.ntx-footer { background: var(--light-gray); }

.ntx-footer .ntx-logo,
.ntx-footer .ntx-logo a { width: 100px; height: 22px; }

.footer--main .container { display: flex; justify-content: space-between; padding: 100px 0 60px; }

.footer--info { margin: 0 auto; max-width: 380px; }
.footer--info p { padding: 50px 0 20px; font-size: 16px; color: var(--dark); line-height: 24px; }

.ntx-social-icons ul { display: flex; gap: 30px; align-items: center; list-style: none; }
.ntx-social-icons .btn-icon { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; font-size: 40px; color: var(--dark); }

.ntx-footer-nav { display: flex; }
.ntx-footer-nav ul { list-style: none; }
.ntx-footer-nav > ul { display: flex; gap: 90px; }
.ntx-footer-nav > ul > li { position: relative; display: flex; flex-direction: column; width: fit-content; }
.ntx-footer-nav > ul > li > a { display: flex; margin-bottom: 24px; width: fit-content; font-size: 22px; font-weight: 600; line-height: 28px; color: var(--dark); white-space: nowrap; }
.ntx-footer-nav > ul > li > .sub-menu li > a { position: relative; margin-bottom: 6px; color: var(--gray); font-size: 16px; line-height: 24px; white-space: nowrap; transition: .4s; }
.ntx-footer-nav > ul > li > .sub-menu li > a:hover { color: var(--primary); }
.ntx-footer-nav > ul > li > .sub-menu > li > .sub-menu { display: none; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children { min-width: 129px; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children.open > .sub-menu { display: block; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children > a { display: block; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children > a::after { content: "\e90b"; position: absolute; top: 50%; right: 0; margin-top: -13px; font-family: 'ntx-icons'; font-size: 10px; height: 30px; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu { width: 129px; }
.ntx-footer-nav > ul > li > .sub-menu > li.menu-item-has-children > .sub-menu > li > a { display: block; padding-left: 8px; white-space: wrap; }

.footer--bar { display: flex; align-items: center; justify-content: center; padding: 20px 130px; color: var(--medium-gray); font-size: 14px; text-align: center; background: var(--dark); }
.footer--bar a { display: inline-block; margin-right: 30px; color: var(--medium-gray); text-decoration: underline; }


/* Page Products */

.single-produto .ntx-page { overflow: visible; }

.page--breadcrumb:has(+ .page--content > .ntx-block-category-cover),
.page--breadcrumb:has(+ .page--content > .ntx-block-category-cover) a { color: var(--white); }
.page--breadcrumb:has(+ .page--content > .ntx-block-product) { padding: 30px 0; background: var(--light-gray); }

.ntx-block-product .container { display: flex; gap: 107px; padding: 50px 0 120px; }
.ntx-block-product .page--title { margin-bottom: 40px; font-size: var(--title-size-large); line-height: 1em; }
.ntx-block-product .product--gallery { position: sticky; top: 30px; margin-top: 16px; width: 580px; height: 700px; }
.ntx-block-product .slider--product-photos { margin-bottom: 20px; background: var(--light-gray); border-radius: 10px; }
.ntx-block-product .slider--product-photos img { display: block; width: 580px; height: 580px; object-fit: contain; }
.ntx-block-product .slider--product-thumbs .swiper-slide { background: var(--light-gray); border: 1px solid transparent; border-radius: 10px; transition: .4s; }
.ntx-block-product .slider--product-thumbs .swiper-slide.swiper-slide-thumb-active { border-color: var(--dark); }
.ntx-block-product .slider--product-thumbs img { display: block; width: 98px; height: 98px; object-fit: contain; border-radius: 10px; }
.ntx-block-product .product--sidebar { overflow: hidden; }
.ntx-block-product .product--size { display: none; gap: 10px; align-items: center; margin: 40px 0; }
.ntx-block-product .product--size > p { margin-right: 10px; }
.ntx-block-product .product--size-item { position: relative; }
.ntx-block-product .product--size-item label { display: block; padding: 10px 20px 7px; border: 1px solid var(--medium-gray); border-radius: 10px; }
.ntx-block-product .product--size-item input[type=radio] { appearance: none; cursor: pointer; position: absolute; z-index: 2; left: 0; top: 0; width: 100%; height: 100%; background: transparent; }
.ntx-block-product .product--size-item input[type=radio]:checked + label { margin-top: -1px; font-weight: 600; color: var(--dark); border: 2px solid var(--dark); }

.ntx-block-product .product-bar-fixed--btn { display: none; }

.ntx-block-product .product--details li { display: flex; gap: 10px; align-items: center; margin-bottom: 24px; }
.ntx-block-product .product--details li:last-child { margin: 0; }
.ntx-block-product .product--details li img,
.ntx-block-product .product--details li svg { display: block; width: 32px; height: 32px; object-fit: contain; }
.ntx-block-product .product--details i { width: 32px; height: 32px; font-size: 32px; color: var(--primary); }
.ntx-block-product .btn { margin-top: 70px; width: 100%; }

.ntx-block-category-cover { position: relative; display: flex; margin-top: -30px; --color: var(--color-2); }
.ntx-block-category-cover::before { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 381px; background: var(--color); }
.ntx-block-category-cover > img { position: relative; z-index: 2; display: block; margin-top: 52px; width: 100%; height: 428px; object-fit: contain; }
.ntx-block-category-cover.category-cover-banner > img { margin-top: 0; height: 430px; object-fit: cover; }

.ntx-block-category-header { margin-bottom: 70px; }
.ntx-block-category-header .container { display: flex; align-items: center; justify-content: space-between; padding: 70px 0; border-bottom: 1px solid var(--medium-gray); }
.category--header { max-width: 480px; }
.category--header .category--title { margin-bottom: 20px; font-size: var(--title-size); }
.category--header p { margin-bottom: 20px; }
.category--header p:last-child { margin: 0; }
.category--infos { display: flex; gap: 120px; }
.category--info { width: 180px; }
.category--info i { font-size: 82px; }
.category--info-title { margin: 30px 0 20px; font-size: 28px; line-height: 32px; }

.ntx-block-products { padding-bottom: 120px; --color: var(--light-gray); }
.ntx-block-products .block--title { margin-bottom: 50px; }
.ntx-block-products .cards { gap: 80px; row-gap: 100px; }
.ntx-block-products .card { width: calc(33.33% - 54px); border: none; }
.ntx-block-products .slider--cards { padding-bottom: 50px; }
.ntx-block-products .slider--cards .card { width: 100%; }
.ntx-block-products .card .card--image::before { content: " "; position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 250px; background: var(--color); }
.ntx-block-products .card .card--image img { position: relative; z-index: 2; margin-bottom: 40px; width: 100%; height: 278px; }
.ntx-block-products .card .card--body { padding-top: 30px; border-top: 1px solid var(--medium-gray); }
.ntx-block-products .card .card--footer { margin-top: 30px; padding-top: 0; border: none; }
.ntx-block-products .btn { font-weight: 600; }
.ntx-block-products .products--slider { display: none; }

.ntx-block-products-more { padding: 120px 0 0; background: var(--light-gray); }

.product-bar-fixed {
    height: 87px;
    background: #fff;
    position: fixed;
    z-index: 99;
    left: 0;
    right: 0;
    bottom: 0;
    box-shadow: 0px -10px 40px 0px #0000001A;
}
.product-bar-fixed .container { display: flex; align-items: center; justify-content: space-between; height: 100%; }
.product-bar-fixed--content-right {
    display: flex;
    justify-content: center;
    align-items: center;
}
.product-bar-fixed--title {
    font-size: 22px;
    line-height: 28px;
    font-weight: 700;
    display: block;
    color: #000;
}
.product-bar-fixed--btn {
    height: 48px;
    width: 180px;
    background-color: #000;
    border-radius: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 15px;
    line-height: 15px;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0 60px;
}
.product-bar-fixed .product--sidebar { overflow: hidden; }
.product-bar-fixed .product--size { display: flex; gap: 10px; align-items: center; margin: 0; }
.product-bar-fixed .product--size > p { margin-right: 10px; }
.product-bar-fixed .product--size-item { position: relative; }
.product-bar-fixed .product--size-item label { display: block; padding: 10px 20px 7px; border: 1px solid var(--medium-gray); border-radius: 10px; }
.product-bar-fixed .product--size-item input[type=radio] { appearance: none; cursor: pointer; position: absolute; z-index: 2; left: 0; top: 0; width: 100%; height: 100%; background: transparent; }
.product-bar-fixed .product--size-item input[type=radio]:checked + label { margin-top: -1px; font-weight: 600; color: var(--dark); border: 2px solid var(--dark); }


.product-modal-overflow {
    position: fixed;
    background-color: rgba(0, 0, 0, 0.50);
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    transition: all 0.3s ease;
}
.product-modal {
    position: fixed;
    width: 1180px;
    max-height: 600px;
    background: #fff;
    border-radius: 12px;
    top: 50%;
    left: 50%;
    margin: -300px 0 0 -590px;
    padding: 40px 65px;
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    transition: all 0.3s ease;
}
.product-modal .product-modal--title {
    font-size: 36px;
    line-height: 1;
    font-weight: 700;
    display: block;
    color: #000;
    margin: 0 0 40px;
}

.product-modal .content {
    overflow-x: hidden;
    overflow-y: scroll;
    gap: 20px;
    display: flex;
    flex-wrap: wrap;
    max-height: 430px;
    height: 100%;
}

.product-modal .content::-webkit-scrollbar { width: 11px; background: #fff; }
.product-modal .content::-webkit-scrollbar-thumb { background: #ccc; border: 3px solid #fff; border-radius: 3px; }
.product-modal .content::-webkit-scrollbar-track { background: #fff; }

.product-modal .content a {
    border: 1px solid #E1DADA;
    width: 240px;
    height: 200px;
    display: block;
    border-radius: 10px;
    transition: all 0.3s ease;
    padding: 0 20px;
}
.product-modal .content a .image {
    height: 130px;
    width: 100%;
    display: block;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 25px 20px;
}
.product-modal .content a .image img {
    display: block;
    max-width: 100%;
    max-height: 100%;
}
.product-modal .content a .more {
    height: 70px;
    width: 100%;
    border-top: 1px solid #E1DADA;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1;
    font-weight: 400;
    color: #222222;
    padding: 0 0 5px;
}
.product-modal .content a .more svg {
    display: block;
    width: 18px;
    height: 18px;
    margin: 0 0 0 10px;
}
.product-modal .content a:hover {
    border: 1px solid #222222;
}

.product-modal--close {
    display: block;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 0;
    position: absolute;
    top: 42px;
    right: 66px; 
    color: transparent;
    cursor: pointer;
}
.product-modal--close:before,
.product-modal--close:after {
    content: '';
    display: block;
    position: absolute;
    height: 20px;
    width: 2px;
    background: #000;
    top: 5px;
    left: 15px;
}
.product-modal--close:before {
    transform: rotate(45deg);
}
.product-modal--close:after {
    transform: rotate(-45deg);
}

.product-modal.active,
.product-modal-overflow.active {
    opacity: 1;
    visibility: visible;
    z-index: 9999;
}

@media screen and (max-width: 1199px) {
    .product-modal {
        width: 910px;
        margin: -300px 0 0 -455px;
    }
    .product-bar-fixed {
        padding: 0 15px;
    }
}
@media screen and (max-width: 991px) {
    .product-modal {
        width: 654px;
        margin: -300px 0 0 -327px;
    }
    .product-bar-fixed--btn {
        margin: 0 0 0 30px;
    }

    .product-bar-fixed {
        display: none;
    }

    .ntx-block-product .product-bar-fixed--btn { 
        display: flex; 
        margin: 0;
    }
}
@media screen and (max-width: 767px) {
    .product-modal {
        width: 290px;
        margin: 0 0 0 -145px;
        padding: 24px 16px;
        transform: translate(0, -50%);
        max-height: calc(100vh - 40px);
    }
    .product-modal .content {
        gap: 8px;
        max-height: calc(100vh - 126px);
    }
    .product-modal .content a {
        border: 1px solid #E1DADA;
        width: 116px;
        height: 116px;
        padding: 0;
    }
    .product-modal .product-modal--title {
        font-size: 24px;
        margin: 0 0 16px;
    }
    .product-modal .content a .image {
        height: 116px;
        padding: 0 10px;
    }
    .product-modal .content a .more {
        display: none;
    }

    .product-modal--close {
        top: 21px;
        right: 12px;
    }
}
@media screen and (max-width: 575px) {
    .ntx-block-product .product-bar-fixed--btn { 
        width: 100%;
    }
}

@media screen and (min-width: 992px) {
    body.single-produto {
        padding-bottom: 87px;
    }
}


/* Page 404 */

.page-404 { padding-top: 100px; padding-bottom: 120px; text-align: center; }
.page-404 .page--title { margin: 0 0 30px; }
.page-404 .page--title::before { content: "404"; display: block; margin-bottom: 20px; font-size: 220px; font-weight: 400; color: var(--primary); line-height: 180px; letter-spacing: 16px; text-align: center; } 
.page-404 .btn { display: inline-flex; margin-top: 50px; width: 210px; }

/* Page Search */

.page-search { padding-top: 90px; padding-bottom: 120px; text-align: center; }
.page-search .search-form { display: flex; flex-direction: column; --max-width: 760px; }
.page-search .search-form .search-field-filters,
.page-search .search-form .search-filters-selected { display: flex; gap: 20px; margin: 0 auto; padding: 50px 0 0; width: 100%; max-width: var(--max-width); }
.page-search .search-form .btn-filters { cursor: pointer; display: flex; width: 50px; height: 50px; align-items: center; justify-content: center; font-size: 24px; border-radius: 8px; border: 1px solid var(--dark); background: var(--white); }
.page-search .search-form .btn-filters.active { color: var(--white); background: var(--dark); }
.page-search .search-form label { position: relative; display: table; flex: 1; width: 100%; }
.page-search .search-form label:has(input[type=search])::before { content: "\e902"; position: absolute; top: 10px; left: 14px; font-family: 'ntx-icons'; font-size: 18px; font-weight: 400 !important; color: var(--medium-gray); }
.page-search .search-form .search-field { padding: 14px 14px 14px 42px; width: 100%; font-size: 16px; color: var(--gray); border: 1px solid var(--dark); border-radius: 8px; }
.page-search .search-form .search-filters-selected { padding-top: 20px; }
.page-search .search-form .search-filters-selected .filter--selecteds { display: flex; gap: 10px; }
.page-search .search-form .search-filters-selected .filter--selecteds .btn { position: relative; padding: 6px 42px 6px 20px; height: auto; line-height: 1em; }
.page-search .search-form .search-filters-selected .filter--selecteds .btn::after { content: "\e912"; position: absolute; top: 50%; right: 18px; margin-top: -7.5px; font-family: 'ntx-icons'; font-size: 12px; font-weight: 400 !important; color: var(--white); }
.page-search .search-form .search-filters-selected .btn-link { cursor: pointer; padding: 6px 0; text-decoration: underline; }
.page-search .search-form .search-filters { display: flex; gap: 100px; margin: 0 auto; padding: 50px 0 0; width: 100%; max-width: var(--max-width); text-align: left; }
.page-search .search-form .search-filters .search-filter-column { width: 100%; }
.page-search .search-form .search-filters .search-filter-column label { cursor: pointer; margin-bottom: 20px; }
.page-search .search-form .search-filters .filter--title { font-size: 22px; margin-bottom: 30px; }
.page-search .search-form .search-filters label { display: inline-flex; gap: 10px; align-items: center; }
.page-search .search-form .search-filters input[type="checkbox"] { appearance: none; position: relative; margin-top: -2px; width: 23px; height: 23px; background: transparent; border: 1px solid var(--dark); border-radius: 4px; }
.page-search .search-form .search-filters input[type="checkbox"]::after { opacity: 0; content: "\e911"; position: absolute; top: 0; left: 0; font-family: 'ntx-icons'; font-size: 22px; font-weight: 400 !important; color: var(--dark); transform: scale(.5); transition: .4s; }
.page-search .search-form .search-filters input[type="checkbox"]:checked::after { opacity: 1; transform: scale(1); }
.page-search .search-form > .btn { cursor: pointer; display: inline-flex; margin: 60px auto; width: 231px; }
.page-search .search-results { padding: 70px 0 100px; }
.page-search .search-results .cards .card { width: calc( 25% - 15px ); }
.page-search > p > .btn { display: inline-flex; margin-top: 60px; }

/* Mobile */

.header--mobile { display: none; }

@media screen and (max-width: 991px) {
    
    :root {
        --title-size: 24px;
        --title-size-large: 32px;
    }

    body { line-height: 24px; }

    .ntx-header { padding: 18px 0; }
    .ntx-logo { position: relative; z-index: 99; }
    .ntx-logo, .ntx-logo a { width: 80px; height: 18px; }
    .header--mobile { display: block; }
    .ntx-nav-mobile ul { list-style: none; display: flex; gap: 40px; align-items: center; }
    .ntx-nav-mobile ul li a { padding: 2px 0; font-size: 16px; color: var(--dark); }
    .ntx-nav-mobile .btn-menu-mobile { font-size: 20px; }    
    .header--navs { visibility: hidden; opacity: 0; overflow: hidden; position: absolute; z-index: 98; top: 0; left: 0; align-items: flex-start; width: 100%; height: var(--vh); background: var(--primary); transform: translateY(-100%); transition: .4s; }    
    .header--navs .btn-menu-mobile-close { position: absolute; z-index: 9; top: 18px; right: 16px; display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; font-size: 18px; color: var(--white); }
    .ntx-nav-primary { position: relative; z-index: 2; }
    .ntx-nav-primary > ul > li { position: initial; }
    .ntx-nav-primary > ul > li.menu-item-has-children > a::after,
    .ntx-nav-primary ul ul.sub-menu::before,
    .ntx-nav-primary ul li ul.sub-menu::after { display: none !important; }
    .ntx-nav-primary ul ul.sub-menu .sub-menu-back { cursor: pointer; position: relative; display: block; margin-bottom: 18px; padding-left: 30px; font-size: 18px; font-weight: 600; color: var(--white); }
    .ntx-nav-primary ul ul.sub-menu .sub-menu-back::before { content: "\e90a"; position: absolute; top: 50%; left: 0; margin-top: -12px; font-family: 'ntx-icons'; font-size: 18px; font-weight: 400 !important; transform: rotate(90deg); }    
    .menu-open { overflow: hidden; }
    .menu-open .ntx-logo { filter: brightness(0) invert(1); }
    .menu-open .header--navs { visibility: visible; opacity: 1; transform: translateY(0); }    
    .header--navs ul li a { color: var(--white) !important; }
    .header--navs ul li a:hover { color: var(--white); }    
    .ntx-nav-primary ul,
    .ntx-nav-primary ul li { width: 100%; }
    .ntx-nav-primary { margin-top: 60px; padding: 20px 16px 40px; width: 100%; transition: .4s; }
    .ntx-nav-primary.sub-menu-open { transform: translateX(-100%); }
    .ntx-nav-primary > ul { flex-direction: column; gap: 20px; align-items: flex-start; }
    .ntx-nav-primary > ul > li:first-child:has(> .btn) { display: none; }
    .ntx-nav-primary > ul > li > a { padding: 10px 0; font-size: 18px; font-weight: 600; }
    .ntx-nav-primary > ul > li > ul.sub-menu,
    .ntx-nav-primary > ul > li:hover > ul.sub-menu { visibility: visible; opacity: 1; position: initial; top: 0; left: 0; width: 100%; background: transparent; box-shadow: none; }
    .ntx-nav-primary ul ul.sub-menu { gap: 12px; padding-right: 0; }
    .ntx-nav-primary ul ul.sub-menu li:first-child a { margin: 0; }
    .ntx-nav-primary ul ul.sub-menu li a { padding: 10px 0; border-bottom: 0; }
    .ntx-nav-primary > ul > li > ul.sub-menu > li > .sub-menu { display: none; }    
    .ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu { overflow: hidden; overflow-y: auto; top: 0; left: 100%; display: flex; gap: 12px; flex-direction: column; padding-left: 16px; width: 100%; height: calc( var(--vh) - 170px ); background: transparent; box-shadow: none; }
    .ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children:hover > ul.sub-menu { visibility: hidden; opacity: 1; }
    .ntx-nav-primary ul li.menu-item-has-children > ul.sub-menu > li.menu-item-has-children > ul.sub-menu.open { visibility: visible; opacity: 1; }
    .ntx-nav-search { display: none; }
    .ntx-nav-accessibility { position: absolute; z-index: 3; left: 0; bottom: 40px; padding: 0 16px; width: 100%; }
    .ntx-nav-accessibility ul { padding-top: 40px; gap: 19px; width: 100%; border-top: 1px solid var(--white); }

    .ntx-page { min-height: calc(100vh - 59px - 344px); }

    .container { padding: 0 16px; }

    .block--title { line-height: 28px; }

    .page--breadcrumb { display: none; }

    .footer--main .container { padding: 50px 16px; }
    .ntx-footer-nav { display: none; }
    .footer--info { display: flex; flex-direction: column; align-items: center; width: 100%; }
    .ntx-social-icons,
    .ntx-social-icons ul { width: 100%; }    
    .ntx-social-icons ul { gap: 0; justify-content: space-between; }
    .footer--bar { padding: 20px 16px; }
    .footer--bar p { display: flex; flex-direction: column; }
    .footer--bar a { margin: 0; }    

    .single-produto .ntx-page { overflow: hidden; }
    .ntx-block-product { overflow: hidden; margin-top: -30px; }
    .ntx-block-product .container { gap: 0; flex-direction: column; padding: 10px 16px 50px; }
    .ntx-block-product .product--gallery { width: 100%; height: auto; }
    .ntx-block-product .slider--product-photos { margin-bottom: 10px; }
    .ntx-block-product .slider--product-photos img { width: 100%; height: 286px; }
    .ntx-block-product .slider--product-thumbs {overflow: visible; }
    .ntx-block-product .slider--product-thumbs .swiper-slide { width: fit-content; }
    .ntx-block-product .product--sidebar { overflow: visible; padding-top: 30px; }
    .ntx-block-product .page--title { margin-bottom: 20px; }
    .ntx-block-product .product--size { display: flex; margin: 20px 0; flex-wrap: wrap; }
    .ntx-block-product .product--size p { width: 100%; }
    .ntx-block-product .product--size-item { width: calc(50% - 5px); }
    .ntx-block-product .product--size-item label { text-align: center; }
    .ntx-block-product .product--details li { margin-bottom: 14px; }
    .ntx-block-product .btn { margin-top: 40px; }

    .category--infos { gap: 10px; }
    .category--info { width: 100%; }
    .category--info-title { font-size: 22px; line-height: 1em; }

    .ntx-block-category-cover { overflow: hidden; margin-top: -30px; }
    .ntx-block-category-cover::before { height: 170px; }
    .ntx-block-category-cover > img { margin-top: 41px; margin-left: -10px; width: calc(100vw + 45px); height: 180px; }
    
    .ntx-block-category-header { margin-bottom: 50px; }
    .ntx-block-category-header .container { gap: 30px; flex-direction: column; padding: 30px 0 50px; margin: 0 16px; width: calc(100% - 32px); }
    .ntx-block-category-header .category--header .category--title { font-size: var(--title-size-large); }

    .ntx-block-products { padding-bottom: 50px; }    
    .ntx-block-products .block--title { margin-bottom: 30px; }
    .ntx-block-products .card { padding-left: 0; padding-right: 0; padding-bottom: 0; width: 100%; }
    .ntx-block-products .card .card--title { margin-top: 0; }
    .ntx-block-products .card .card--body { padding-top: 20px; }
    .ntx-block-products .card .card--footer { margin-top: 20px; }
    .ntx-block-products .btn { width: 100%; }
    .ntx-block-products .products--list { display: none; }
    .ntx-block-products .products--slider { display: block; padding-bottom: 50px; }
    .ntx-block-products .products--slider.swiper .swiper-slide { padding: 0 16px; }

    .ntx-block-products-more { padding: 50px 0 0; }

    .page-404 { padding: 50px 16px; }
    .page-404 .page--title::before { margin-bottom: 30px; font-size: 100px; line-height: 50px; }
    .page-404 .btn { width: 100%; }

    .page-search { padding: 50px 0; }
    .page-search .search-form > .btn { margin-top: 30px; width: 100%; }
    .page-search .search-form .search-filters { gap: 20px; flex-direction: column; }
    .page-search .search-form .search-filters-selected .filter--selecteds { flex-wrap: wrap; }
    .page-search .search-form .search-filters-selected .btn-filters-clear { display: none !important; }
    .page-search .search-results { padding: 50px 0; }
    .page-search .search-results .cards .card { width: 100%; }
}


/* AJAX block loading */

.block__loading {
	position: relative;
}

.block__loading:before {
	background: rgba(255,255,255,.5);
	bottom: 0;
	content: '';
	height: 100%;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 999;
}

.block__loading:after {
	animation: loading 1s infinite linear;
	border-radius: 100px;
	color: var(--first-color);
	content: '';
	font-family: var(--font-awesome);
	font-size: 32px;
	font-weight: 900;
	left: 50%;
	position: fixed;
	top: 50%;
	transform: translate3d(-50%,-50%,0);
	z-index: 1000;
}