
/*** Spinner Start ***/
/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}
/*** Spinner End ***/

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    z-index: 99;
}

/*** Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square {
    width: 32px;
    height: 32px;
}

.btn-sm-square {
    width: 34px;
    height: 34px;
}

.btn-md-square {
    width: 44px;
    height: 44px;
}

.btn-lg-square {
    width: 56px;
    height: 56px;
}

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
    border-radius: 50%;
}

.btn.btn-primary {
    background: var(--bs-primary) !important;
    color: var(--bs-white) !important;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    transition: 0.5s;
}

.btn.btn-primary:hover {
    background: var(--bs-secondary) !important;
    color: var(--bs-white);
}

.btn.btn-secondary {
    background: var(--bs-secondary) !important;
    color: var(--bs-white);
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
    border: 1px solid var(--bs-secondary);
    transition: 0.5s;
}

.btn.btn-secondary:hover {
    background: var(--bs-primary) !important;
    color: var(--bs-secondary) !important;
}

/*** Topbar Start ***/
.topbar {
    padding: 2px 10px 2px 20px;
    background: var(--bs-primary) !important;
}

.topbar a,
.topbar a i {
    transition: 0.5s;
}

.topbar a:hover,
.topbar a i:hover {
    color: var(--bs-secondary) !important;
}


@media (max-width: 768px) {
    .topbar {
        display: none;    
    }
}
/*** Topbar End ***/


/*** Navbar ***/
.nav-bar .categories-bars .categories-bars-item {
    padding: 5px 15px;
    border-bottom: 1px solid rgba(256, 256, 256, 0.1);
    display: flex;
    justify-content: space-between;
    transition: 0.5s;
}

.nav-bar .categories-bars .categories-bars-item a,
.nav-bar .categories-bars .categories-bars-item span {
    color: var(--bs-dark);
    transition: 0.5s;
}

.nav-bar .categories-bars .categories-bars-item:hover {
    background: var(--bs-primary);
}

.nav-bar .categories-bars .categories-bars-item:hover a,
.nav-bar .categories-bars .categories-bars-item:hover span {
    color: var(--bs-white);
}

.nav-bar .navbar.navbar-light {
    padding: 0 !important;
}

.nav-bar .navbar .navbar-nav .nav-link {
    padding: 18px 15px;
    font-weight: 500;
    font-family: 'Roboto', sans-serif;
    font-size: 17px;
    transition: .5s;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active,
.fixed-top.bg-white .navbar .navbar-nav .nav-link:hover,
.fixed-top.bg-white .navbar .navbar-nav .nav-link.active {
    color: var(--bs-white);
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    vertical-align: middle;
}

@media (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        border-radius: 10px;
        transition: .5s;
        opacity: 0;
    }
}

@media (max-width: 992px) {
    .nav-bar .navbar .navbar-nav .nav-link {
        padding: 8px 0px;
    }
}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light) !important;
    transition: .5s;
    opacity: 1;
}

.navbar .navbar-toggler {
    padding: 5px 15px;
}

#allCat {
    position: absolute; 
    left: 0; 
    right: 0; 
    top: 51px; 
    z-index: 999; 
    background: var(--bs-light);
}

.nav-bar .navbar-toggler {
    border-radius: 5px !important; 
    box-shadow: none !important;
}

/*** Navbar End ***/

/*** Carousel Header Start ***/
.header-carousel.owl-carousel .owl-nav .owl-prev,
.header-carousel.owl-carousel .owl-nav .owl-next {
    position: absolute;
    width: 50px;
    height: 50px;
    top: 87%;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-primary);
    color: var(--bs-white);
}

.header-carousel.owl-carousel .owl-nav .owl-prev {
    right: 130px;
    transition: 0.5s;
}

.header-carousel.owl-carousel .owl-nav .owl-next {
    right: 60px;
    transition: 0.5s;
}

.header-carousel.owl-carousel .owl-nav .owl-prev:hover,
.header-carousel.owl-carousel .owl-nav .owl-next:hover {
    background: var(--bs-secondary);
    color: var(--bs-white);
}

.carousel .carousel-header-banner {
    position: relative;
}

.carousel .carousel-banner-offer {
    position: absolute;
    top: 20px; 
    left: 20px;
    display: flex;
    align-items: center;
    z-index: 2;
}

.carousel .carousel-banner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0; 
    left: 0;
    padding: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
    background: rgba(0, 0, 0, 0.3);
    z-index: 1;
}
/*** Carousel Header End ***/


/*** Page Header start ***/
.page-header {
    position: relative;
    padding: 100px 0;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/carousel-1.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
}
/*** Page Header end ***/


/*** Products Start ***/
.product .product-item {
    width: 100%;
    height: 100%;
    position: relative;
}

.product .product-item .product-item-inner {
    height: 100%;
}

.product .product-item .product-item-add {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: 0.5s;
    z-index: 1;
}

.product .product-item:hover .product-item-add {
    background: var(--bs-white);
    margin-bottom: -124px;
    opacity: 1;
}
.product .product-item:hover .product-item-inner {
    border-bottom: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.product .product-item .product-item-inner .product-item-inner-item {
    position: relative;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    overflow: hidden;
}

.product .product-item .product-item-inner .product-item-inner-item .product-new,
.product .product-item .product-item-inner .product-item-inner-item .product-sale {
    position: absolute;
    width: 60px; 
    height: 60px;
    border-radius: 60px; 
    top: 20px; 
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: center; 
}

.product .product-item .product-item-inner .product-item-inner-item .product-new {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.product .product-item .product-item-inner .product-item-inner-item .product-sale {
    background: var(--bs-secondary);
    color: var(--bs-white);
}

.product .product-item .product-item-inner img {
    transition: 0.5s;
}

.product .product-item:hover .product-item-inner img {
    transform: scale(1.1);
}

.product .product-item .product-item-inner .product-item-inner-item .product-details {
    position: absolute;
    width: 100%; 
    height: 100%; 
    top: 0; 
    left: 0;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    background: rgba(255, 255, 255, 0.2);
    transition: 0.5s;
}

.product .product-item .product-item-inner .product-item-inner-item .product-details a i {
    width: 50px; 
    height: 50px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-primary);
    color: var(--bs-white);
    transition: 0.5s;
}

.product .product-item:hover .product-item-inner .product-item-inner-item .product-details a i:hover {
    background: var(--bs-secondary);
    color: var(--bs-white);
}

.product .product-item:hover .product-item-inner .product-details {
    opacity: 1;
}

.product .tab-class .nav .nav-item a.active {
    background: var(--bs-primary) !important;
}

.product .tab-class .nav .nav-item a.active span {
    color: var(--bs-white) !important;
}
/*** Product End ***/

/*** Refined storefront ***/
.product {
    background: #f7f8fa;
}

.product .product-item {
    position: relative;
    height: 100%;
}

.product .product-item .product-item-inner {
    display: flex;
    height: 100%;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e7e9ed !important;
    border-radius: 14px !important;
    background: #fff;
    box-shadow: 0 3px 14px rgba(28, 36, 50, .045);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.product .product-item:hover .product-item-inner {
    border: 1px solid #d9dde3 !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 24px rgba(28, 36, 50, .08);
    transform: translateY(-2px);
}

.product .product-item .product-item-inner .product-item-inner-item {
    position: relative;
    overflow: hidden;
    border-radius: 0;
    background: #f8f9fa;
}

.product .produto-card-imagem,
.product .produto-card-sem-imagem {
    height: 270px;
}

.product .produto-card-imagem {
    padding: 1.25rem;
    object-fit: contain;
    transition: opacity .2s ease;
}

.product .product-item:hover .product-item-inner img {
    transform: none;
    opacity: .94;
}

.product .product-item .product-new,
.product .product-item .product-sale {
    position: absolute !important;
    top: 14px !important;
    right: auto !important;
    left: 14px;
    width: auto !important;
    height: auto !important;
    min-height: 26px;
    padding: .32rem .65rem;
    border-radius: 6px !important;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1;
    text-transform: uppercase;
}

.product .product-item .product-sale {
    background: #1f7a4d !important;
    color: #fff !important;
}

.product .product-item .product-new {
    background: var(--bs-primary) !important;
}

.product-card-content {
    display: flex;
    min-height: 172px;
    flex: 1;
    flex-direction: column;
    padding: 1.15rem 1.2rem 1.25rem;
    border-top: 1px solid #eef0f2;
}

.product-card-category {
    display: block;
    margin-bottom: .45rem;
    color: #757d88;
    font-size: .73rem;
    font-weight: 700;
    letter-spacing: .055em;
    line-height: 1.2;
    text-transform: uppercase;
}

.produto-card-nome {
    display: -webkit-box;
    min-height: 46px;
    overflow: hidden;
    color: #20252c;
    font-size: 1rem !important;
    font-weight: 600;
    line-height: 1.42;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.produto-card-nome:hover {
    color: var(--bs-primary);
}

.product-card-footer {
    display: flex;
    margin-top: auto;
    padding-top: 1rem;
    align-items: end;
    justify-content: space-between;
    gap: .75rem;
}

.product-card-price del {
    display: block;
    margin-bottom: .1rem;
    color: #8b929b;
    font-size: .95rem;
}

.product-card-price strong {
    color: #20252c;
    font-size: 1.12rem;
    font-weight: 700;
}

.product-card-action {
    display: inline-flex;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dfe2e6;
    border-radius: 50%;
    color: #424a55;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.product-card-action:hover {
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    color: var(--site-primary-contrast, #fff);
}

.product .product-item .product-details,
.product .product-item .product-item-add {
    display: none !important;
}

.products .products-mini .products-mini-item {
    overflow: hidden;
    border: 1px solid #e7e9ed;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgba(28, 36, 50, .04);
    transition: border-color .2s ease, box-shadow .2s ease;
}

.products .products-mini .products-mini-item:hover {
    border-radius: 12px !important;
    border-color: #d9dde3;
    box-shadow: 0 7px 20px rgba(28, 36, 50, .07);
}

.products .products-mini .products-mini-img {
    overflow: hidden;
    border-right: 1px solid #eef0f2;
    background: #f8f9fa;
}

.products .products-mini .products-mini-item:hover .products-mini-img img {
    border-radius: 0 !important;
    transform: none;
    opacity: .94;
}

.products .products-mini .products-mini-add,
.products .products-mini .products-mini-icon {
    display: none !important;
}

#vitrine-produtos .nav-pills {
    gap: .5rem;
}

#vitrine-produtos .nav-pills .nav-link {
    margin: 0 !important;
    border: 1px solid #e2e5e9;
    background: #fff !important;
    font-size: .9rem;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}

@media (max-width: 575.98px) {
    .product .produto-card-imagem,
    .product .produto-card-sem-imagem {
        height: 240px;
    }

    #vitrine-produtos .nav-pills .nav-link {
        padding: .55rem .9rem !important;
    }
}

/* Cabeçalho e rodapé enxutos compartilhados por sacola, checkout e pagamento. */
.carrinho-checkout-header {
    border-bottom: 1px solid #ececec;
    background: #fff;
}
.carrinho-checkout-header-conteudo {
    position: relative;
    display: flex;
    min-height: 112px;
    align-items: center;
    justify-content: center;
    padding-top: 1rem;
    padding-bottom: 1rem;
}
.carrinho-checkout-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #111 !important;
    text-decoration: none;
}
.carrinho-checkout-logo img {
    width: auto;
    max-width: 190px;
    max-height: 66px;
    object-fit: contain;
}
.carrinho-checkout-logo strong {
    font-size: 1.35rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.carrinho-checkout-seguranca {
    position: absolute;
    right: .75rem;
    display: flex;
    align-items: center;
    gap: .55rem;
    color: #505050;
    line-height: 1.05;
}
.carrinho-checkout-seguranca-icone {
    width: 20px;
    height: 26px;
    overflow: visible;
    fill: none;
    stroke: #333;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.carrinho-checkout-seguranca span { display: flex; flex-direction: column; }
.carrinho-checkout-seguranca strong,
.carrinho-checkout-seguranca small { font-size: .76rem; font-weight: 500; }
.carrinho-pagamentos { border-top: 0; background: #f3f0ed; }
.carrinho-pagamentos-conteudo {
    display: flex;
    min-height: 154px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-top: 1.7rem;
    padding-bottom: 1.8rem;
    text-align: center;
}
.carrinho-pagamentos-titulo {
    color: #111;
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .015em;
    text-transform: uppercase;
}
.carrinho-pagamentos-lista {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: clamp(.9rem, 2vw, 1.65rem);
    color: #090909;
}
.pagamento-marca { display: inline-flex; min-width: 42px; height: 30px; align-items: center; justify-content: center; color: #090909; line-height: 1; }
.pagamento-visa { font-size: 1.35rem; font-style: italic; font-weight: 900; letter-spacing: -.08em; }
.pagamento-mastercard { position: relative; width: 48px; }
.pagamento-mastercard i { position: absolute; width: 25px; height: 25px; border: 2px solid #090909; border-radius: 50%; }
.pagamento-mastercard i:first-child { left: 3px; }
.pagamento-mastercard i:nth-child(2) { right: 3px; }
.pagamento-amex { width: 55px; height: 25px; border: 2px solid #090909; font-size: .48rem; font-weight: 900; line-height: .8; }
.pagamento-elo { font-size: 1.45rem; font-weight: 800; letter-spacing: -.09em; }
.pagamento-hipercard { width: 61px; height: 23px; border-radius: 3px; background: #090909; color: #fff; font-size: .62rem; font-style: italic; font-weight: 700; }
.pagamento-pix { gap: .45rem; font-size: 1.15rem; font-weight: 300; }
.pagamento-pix > i { position: relative; width: 15px; height: 15px; border: 2px solid #090909; border-radius: 3px; transform: rotate(45deg); }
.pagamento-pix > i::after { content: ''; position: absolute; inset: 3px; border: 1px solid #090909; border-radius: 1px; }
.pagamento-boleto { gap: .35rem; font-size: .7rem; font-weight: 700; }
.pagamento-boleto i { font-size: 1.35rem; }

@media (max-width: 767.98px) {
    .carrinho-pagamentos-conteudo { min-height: 132px; gap: .75rem; padding: 1.3rem .85rem 1.45rem; }
    .carrinho-pagamentos-lista { max-width: 420px; gap: .65rem 1rem; }
    .pagamento-marca { transform: scale(.9); transform-origin: center; }
}
@media (max-width: 575.98px) {
    .carrinho-checkout-header-conteudo { min-height: 82px; }
    .carrinho-checkout-logo img { max-width: 145px; max-height: 50px; }
    .carrinho-checkout-seguranca { right: 1rem; }
    .carrinho-checkout-seguranca-icone { width: 18px; height: 23px; }
    .carrinho-checkout-seguranca span { display: none; }
    .carrinho-pagamentos-titulo { font-size: .72rem; }
    .carrinho-pagamentos-lista { gap: .4rem .65rem; }
    .pagamento-marca { min-width: 36px; transform: scale(.82); }
}

/* Rodapé institucional */
.footer.rodape-site {
    padding: 0 !important;
    border-top: 0;
    background: #090909;
    color: #fff;
}

.rodape-site > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.rodape-faixa-superior {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(220px, auto);
    padding: 2.2rem 0;
    align-items: center;
    gap: 2rem;
    border-bottom: 1px solid rgba(255, 255, 255, .62);
}

.rodape-redes { display: flex; align-items: center; gap: 1.25rem; }
.rodape-redes strong { color: #fff; font-size: .92rem; font-weight: 600; }
.rodape-redes > div { display: flex; gap: .7rem; }
.rodape-redes a { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid rgba(255,255,255,.82); border-radius: 50%; color: #fff !important; font-size: .86rem; transition: background-color .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.rodape-redes a:hover { border-color: #fff; background: #fff; color: #090909 !important; transform: translateY(-2px); }
.rodape-seguranca { display: flex; align-items: center; gap: .65rem; color: #fff; }
.rodape-seguranca > i { font-size: 1.45rem; }
.rodape-seguranca span { display: flex; flex-direction: column; }
.rodape-seguranca small { color: #c8c8c8; font-size: .58rem; letter-spacing: .08em; text-transform: uppercase; }
.rodape-seguranca strong { font-size: .85rem; }
.rodape-whatsapp { display: inline-flex; min-height: 46px; padding: .7rem 1.35rem; align-items: center; justify-content: center; gap: .55rem; border: 1px solid #fff; border-radius: 999px; color: #fff !important; font-size: .78rem; font-weight: 700; }
.rodape-whatsapp:hover { border-color: var(--bs-primary); background: var(--bs-primary); color: var(--bs-contrast, #fff) !important; }

.rodape-links-grid {
    display: grid;
    grid-template-columns: 1.15fr 1.15fr .9fr 1fr 1.2fr;
    padding: 2.8rem 0 3.2rem;
    gap: clamp(1.5rem, 3vw, 3.5rem);
}
.rodape-links-grid section { min-width: 0; }
.rodape-links-grid h2 { margin: 0 0 1.35rem; color: #fff; font-family: 'Inter', sans-serif; font-size: .92rem; font-weight: 650; }
.rodape-links-grid a, .rodape-links-grid p { display: block; margin: 0 0 .72rem; overflow-wrap: anywhere; color: #dedede !important; font-size: .73rem; font-weight: 400; line-height: 1.45; }
.rodape-links-grid a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
.rodape-atendimento a { color: #fff !important; }
.rodape-atendimento p { margin-top: 1rem; color: #bdbdbd !important; }
.rodape-base { display: flex; padding: 1.2rem 0 1.5rem; align-items: center; justify-content: space-between; gap: 1.5rem; border-top: 1px solid rgba(255,255,255,.16); }
.rodape-base p, .rodape-base div { margin: 0; color: #b5b5b5; font-size: .66rem; }
.rodape-base div { display: flex; align-items: center; gap: .4rem; }
.rodape-links-grid section:first-child p { color: #eeeeee !important; }
.rodape-atendimento p { color: #d8d8d8 !important; }
.rodape-base p { color: #d0d0d0; }

/* Páginas de conteúdo institucional */
.pagina-institucional { padding: 2rem 0 5rem; background: #fff; }
.pagina-institucional-breadcrumb { display: flex; margin-bottom: 3.5rem; gap: .65rem; color: #8b8883; font-size: .7rem; }
.pagina-institucional-breadcrumb a { color: #55514c; }
.pagina-institucional-cabecalho { max-width: 760px; margin-bottom: 3.5rem; }
.pagina-institucional-cabecalho > span { display: block; margin-bottom: .7rem; color: var(--bs-primary); font-size: .68rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.pagina-institucional-cabecalho h1 { margin-bottom: 1rem; font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 500; letter-spacing: -.035em; }
.pagina-institucional-cabecalho p { margin: 0; color: #69655f; font-size: clamp(.95rem, 1.6vw, 1.12rem); line-height: 1.7; }
.pagina-institucional-conteudo { max-width: 900px; }
.pagina-institucional-conteudo section { display: grid; grid-template-columns: 220px minmax(0, 1fr); padding: 1.7rem 0; gap: 2rem; border-top: 1px solid #dedbd5; }
.pagina-institucional-conteudo section h2 { margin: 0; font-size: 1rem; font-weight: 650; }
.pagina-institucional-conteudo section p { margin: 0; color: #66625d; font-size: .88rem; line-height: 1.75; }
.pagina-institucional-ajuda { display: flex; margin-top: 2.5rem; padding: 1.4rem 0; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid #222; border-bottom: 1px solid #dedbd5; }
.pagina-institucional-ajuda div { display: flex; flex-direction: column; }
.pagina-institucional-ajuda span { color: #8a857e; font-size: .68rem; }
.pagina-institucional-ajuda strong { font-size: 1rem; }
.pagina-institucional-ajuda a { color: #282522; font-size: .78rem; font-weight: 650; }
.pagina-institucional-ajuda i { margin-left: .4rem; }

@media (max-width: 991.98px) {
    .rodape-faixa-superior { grid-template-columns: 1fr auto; }
    .rodape-seguranca { display: none; }
    .rodape-links-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .rodape-atendimento { grid-column: 1 / -1; }
}

@media (max-width: 575.98px) {
    .footer.rodape-site { padding: 0 .35rem !important; }
    .rodape-faixa-superior { grid-template-columns: 1fr; padding: 1.6rem 0; gap: 1.3rem; }
    .rodape-redes { align-items: flex-start; flex-direction: column; gap: .8rem; }
    .rodape-whatsapp { width: 100%; }
    .rodape-links-grid { grid-template-columns: 1fr 1fr; padding: 2rem 0 2.3rem; gap: 2rem 1.2rem; }
    .rodape-links-grid h2 { margin-bottom: 1rem; }
    .rodape-links-grid a, .rodape-links-grid p { margin-bottom: .62rem; font-size: .7rem; }
    .rodape-atendimento { grid-column: 1 / -1; }
    .rodape-base { align-items: flex-start; flex-direction: column; }
    .pagina-institucional { padding: 1.25rem 0 3.5rem; }
    .pagina-institucional-breadcrumb { margin-bottom: 2.2rem; }
    .pagina-institucional-cabecalho { margin-bottom: 2.3rem; }
    .pagina-institucional-conteudo section { grid-template-columns: 1fr; padding: 1.35rem 0; gap: .55rem; }
    .pagina-institucional-ajuda { align-items: flex-start; flex-direction: column; }
}


/*** ProductList Categories Start ***/
.productList .productList-carousel {
    height: 215px !important;
}

.productList .productList-carousel .productImg-carousel.productList-item .productImg-item {
    position: relative;
    width: calc(100% - 1px);
    transition: 0.5s;
}

.productList .productList-carousel .productImg-carousel.productList-item .productImg-item {
    margin-bottom: 75px;
}

.productList .productList-carousel .productImg-carousel.productList-item .productImg-item:hover {
    border-bottom: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.productList .productList-carousel .owl-nav .owl-prev,
.productList .productList-carousel .owl-nav .owl-next {
    position: absolute;
    top: -40px;
    padding: 5px 40px;
    border-radius: 30px;
    background: var(--bs-primary);
    color: var(--bs-white);
    transition: 0.5s;
}

.productList .productList-carousel .owl-nav .owl-prev:hover,
.productList .productList-carousel .owl-nav .owl-next:hover {
    background: var(--bs-secondary) !important;
    color: var(--bs-white) !important;
}

.productList .productList-carousel .owl-nav .owl-prev {
    left: 0;
}

.productList .productList-carousel .owl-nav .owl-next {
    right: 0;
}

.productList .productList-carousel .productImg-carousel .owl-nav .owl-prev,
.productList .productList-carousel .productImg-carousel .owl-nav .owl-next {
    position: absolute;
    top: 0px;
    padding: 5px 10px;
    border-radius: 30px;
    background: var(--bs-primary);
    color: var(--bs-white);
    transition: 0.5s;
    opacity: 0;
}

.productList .productList-carousel .productImg-carousel .owl-nav .owl-prev:hover,
.productList .productList-carousel .productImg-carousel .owl-nav .owl-next:hover {
    background: var(--bs-secondary) !important;
    color: var(--bs-white) !important;
}

.productList .productList-carousel .productImg-carousel .owl-nav .owl-prev {
    left: 0;
}

.productList .productList-carousel .productImg-carousel .owl-nav .owl-next {
    right: 0;
}

.productList .productList-carousel .productImg-carousel.productList-item:hover .owl-nav .owl-prev,
.productList .productList-carousel .productImg-carousel.productList-item:hover .owl-nav .owl-next {
    opacity: 1;
}
/*** ProductList Categories End ***/



/*** bestseller Products Start ***/
.products .products-mini .products-mini-item {
    position: relative;
    border-radius: 10px;
    transition: 0.5s;
}

.products .products-mini .products-mini-item:hover {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
}

.products .products-mini .products-mini-item .products-mini-img {
 position: relative;
 overflow: hidden;
}

.products .products-mini .products-mini-item .products-mini-img img {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    transition: 0.5s;
}

.products .products-mini .products-mini-item:hover .products-mini-img img {
    border-bottom-left-radius: 0 !important;
    transform: scale(1.3);
}

.products .products-mini .products-mini-item .products-mini-img .products-mini-icon {
    position: absolute;
    width: 50px; 
    height: 50px; 
    top: 50%; 
    left: 50%;
    transform: translate(-50%, -50%); 
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: 0.5s;
}

.products .products-mini .products-mini-item:hover .products-mini-img .products-mini-icon {
    opacity: 1;
}

.products .products-mini .products-mini-item:hover .products-mini-img .products-mini-icon:hover {
    background: var(--bs-secondary) !important;
}

.products .products-mini .products-mini-item .products-mini-add {
    position: absolute;
    bottom: 0;
    left: -1px;
    right: -1px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--bs-white);
    transition: 0.5s;
    z-index: 9;
    opacity: 0;
}

.products .products-mini .products-mini-item:hover .products-mini-add {
    opacity: 1;
    margin-bottom: -75px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
/*** bestseller Products End ***/

/*** Pagination Start ***/
.pagination {
    display: inline-block;
}
  
.pagination a {
    color: var(--bs-dark);
    padding: 10px 16px;
    text-decoration: none;
    transition: 0.5s;
    border: 1px solid var(--bs-secondary);
    margin: 0 4px;
}
  
.pagination a.active {
    background-color: var(--bs-primary);
    color: var(--bs-light);
    border: 1px solid var(--bs-secondary);
}
  
.pagination a:hover:not(.active) {background-color: var(--bs-primary)}

.nav.nav-tabs .nav-link.active {
    border-bottom: 2px solid var(--bs-secondary) !important;
}
/*** Pagination End ***/

/*** Shop Page Start ***/
.shop .product-categories .categories-item {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
}

.shop .product-categories .categories-item a {
    transition: 0.5s;
}

.shop .product-categories .categories-item a:hover {
    color: var(--bs-primary) !important;
}

.shop .product-color .product-color-item {
    display: flex;
    padding: 10px 0;
}

.shop .product-color .product-color-item a {
    transition: 0.5s;
}

.shop .product-color .product-color-item a:hover {
    color: var(--bs-secondary);
}

.shop .price {
    padding: 10px 0;
}

.shop .additional-product .additional-product-item {
    padding: 10px 0;
}

.shop .featured-product .featured-product-item {
    display: flex;
    align-items: center;
    justify-content: start;
}

.shop .product-tags .product-tags-items a {
    display: inline-block !important;
    background: var(--bs-white);
    color: var(--bs-dark);
    transition: 0.5;
}

.shop .product-tags .product-tags-items a:hover {
    background: var(--bs-primary) !important;
    color: var(--bs-white) !important;
}

/*** Shop Page End ***/


/*** Single Products Start ***/
.single-product .owl-nav .owl-prev,
.single-product .owl-nav .owl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    margin-top: -13%;
    font-size: 22px;
    color: var(--bs-primary);
}

.single-product .owl-nav .owl-prev {
    left: 0;
}

.single-product .owl-nav .owl-next {
    right: 0 !important;
}


.single-product .single-carousel .owl-dots {
    width: 100%;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 10px;
    transition: 0.5s;
}

.single-product .single-carousel .owl-dots .owl-dot img {
    width: 60px;
    height: 60px;
    border-radius: 30px;
    margin-right: 15px;
    border: 2px solid var(--bs-primary);
    transition: 0.5s;
}

.single-product .single-carousel .owl-dots .owl-dot.active img {
    width: 80px;
    height: 80px;
    border-radius: 40px;
    border: 4px solid var(--bs-secondary);
}














.related-product .related-carousel .related-item {
    width: 100%;
    height: 100%;
    position: relative;
    margin-bottom: 125px;
    transition: 0.5s;
}

.related-product .related-carousel .related-item .related-item-add {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0;
    transition: 0.5s;
    z-index: 99;
}

.related-product .related-carousel .related-item:hover .related-item-add {
    background: var(--bs-white);
    margin-bottom: -125px;
    opacity: 1;
}

.related-product .related-carousel .related-item:hover .related-item-inner {
    border-bottom: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item {
    position: relative;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    overflow: hidden;
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-new,
.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-sale {
    position: absolute;
    width: 60px; 
    height: 60px;
    border-radius: 60px; 
    top: 20px; 
    right: 20px;
    display: flex;
    align-items: center;
    justify-content: center; 
    z-index: 5;
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-new {
    background: var(--bs-primary);
    color: var(--bs-white);
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-sale {
    background: var(--bs-secondary);
    color: var(--bs-white);
}

.related-product .related-carousel .related-item .related-item-inner img {
    transition: 0.5s;
}

.related-product .related-carousel .related-item:hover .related-item-inner img {
    transform: scale(1.1);
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-details {
    position: absolute;
    width: 100%; 
    height: 100%; 
    top: 0; 
    left: 0;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    background: rgba(255, 255, 255, 0.2);
    transition: 0.5s;
}

.related-product .related-carousel .related-item .related-item-inner .related-item-inner-item .related-details a i {
    width: 50px; 
    height: 50px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bs-primary);
    color: var(--bs-white);
    transition: 0.5s;
}

.related-product .related-carousel .related-item:hover .related-item-inner .related-item-inner-item .related-details a i:hover {
    background: var(--bs-secondary);
    color: var(--bs-white);
}

.related-product .related-carousel .related-item:hover .related-item-inner .related-details {
    opacity: 1;
}


.related-product .owl-nav .owl-prev,
.related-product .owl-nav .owl-next {
    position: absolute;
    top: -40px;
    padding: 5px 40px;
    border-radius: 30px;
    background: var(--bs-primary);
    color: var(--bs-white);
    transition: 0.5s;
}

.related-product .owl-nav .owl-prev {
    left: 0;
}

.related-product .owl-nav .owl-next {
    right: 0;
}

.related-product .owl-nav .owl-prev:hover,
.related-product .owl-nav .owl-next:hover {
    background: var(--bs-secondary) !important;
}
/*** Single Products End ***/

/*** Footer Start ***/
.footer {
    background: var(--bs-dark);
}
.footer .footer-item a {
    line-height: 30px;
    color: var(--bs-body);
    transition: 0.5s;
}

.footer .footer-item p {
    line-height: 30px;
}

.footer .footer-item a:hover {
    letter-spacing: 2px;
    color: var(--bs-secondary);
}

/*** Footer End ***/


/*** copyright Start ***/
.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--bs-primary) !important;
}
/*** copyright end ***/

/*** Storefront inspired by a premium beauty shop ***/
body {
    color: #232323;
    background: #fff;
    font-family: 'Inter', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    color: #232323;
    font-family: 'Lora', serif;
    font-weight: 600;
}

.btn,
.nav-link,
.navbar,
input,
select,
button {
    font-family: 'Inter', sans-serif !important;
}

header > .container-fluid.border-bottom {
    border-color: #ededed !important;
    background: #fafafa;
}

header > .container-fluid.py-4 {
    padding-top: 1.4rem !important;
    padding-bottom: 1.4rem !important;
    background: #fff;
}

header form[role="search"] {
    overflow: hidden;
    border: 1px solid #dedede !important;
    border-radius: 50px !important;
    background: #fff;
}

header form[role="search"] .form-control,
header form[role="search"] .form-select {
    background: transparent;
    font-size: .9rem;
}

header form[role="search"] .btn {
    min-width: 58px;
    border-radius: 50% !important;
}

.nav-bar {
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.nav-bar > .row,
.nav-bar .navbar {
    background: #fff !important;
}

.nav-bar .navbar .navbar-nav .nav-link,
.nav-bar .navbar-toggler,
.nav-bar .navbar-toggler h4 {
    color: #232323 !important;
}

.nav-bar .navbar .navbar-nav .nav-link {
    padding-top: 15px;
    padding-bottom: 15px;
    font-size: .88rem;
    font-weight: 600;
}

.nav-bar .navbar .navbar-nav .nav-link:hover,
.nav-bar .navbar .navbar-nav .nav-link.active {
    color: var(--bs-primary) !important;
}

.storefront-hero {
    background:
        radial-gradient(circle at 88% 18%, rgba(255, 255, 255, .74), transparent 34%),
        linear-gradient(315deg, #f8f4ec 0%, #eee4d5 52%, #f7f2e9 100%);
}

.storefront-hero .container {
    width: 75%;
    max-width: 1440px;
    padding-right: .938rem;
    padding-left: .938rem;
}

.storefront-hero .header-carousel-item {
    min-height: 500px;
}

.storefront-hero .carousel-content {
    padding: 4rem 3rem 4rem 1rem;
}

.storefront-eyebrow,
.storefront-section-heading > span {
    display: block;
    margin-bottom: .8rem;
    color: #777168;
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.storefront-hero h1 {
    display: -webkit-box;
    min-height: 2.08em;
    max-width: 620px;
    margin-bottom: 1.2rem;
    overflow: hidden;
    font-size: clamp(2.35rem, 4.5vw, 4.5rem);
    line-height: 1.04;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.storefront-hero p {
    max-width: 520px;
    margin-bottom: 1.35rem;
    color: #625f5a;
    font-size: 1rem;
    line-height: 1.7;
}

.storefront-hero-description {
    display: -webkit-box;
    min-height: 3.4em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.storefront-hero-image {
    height: 500px;
    padding: 2.25rem;
    object-fit: contain;
}

.storefront-hero-price {
    display: flex;
    margin-bottom: 1.5rem;
    align-items: baseline;
    gap: .7rem;
}

.storefront-hero-price del {
    color: #908b84;
    font-size: .9rem;
}

.storefront-hero-price strong {
    font-size: 1.35rem;
}

.storefront-hero-button,
.product-card-buy {
    border: 1px solid #30302e;
    border-radius: 50px;
    background: #30302e;
    color: #fff !important;
    font-size: .82rem;
    font-weight: 600;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.storefront-hero-button {
    padding: .9rem 1.65rem;
}

.storefront-hero-button:hover,
.product-card-buy:hover {
    border-color: var(--bs-primary);
    background: var(--bs-primary);
    color: var(--site-primary-contrast, #fff) !important;
}

.header-carousel.owl-carousel .owl-nav { display: none; }

.header-carousel.owl-carousel .owl-dots {
    position: absolute;
    right: 0;
    bottom: 20px;
    left: 0;
    z-index: 3;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

.header-carousel.owl-carousel .owl-dot {
    width: 9px;
    height: 9px;
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    background: rgba(35, 35, 35, .3);
    transition: background-color .2s ease, transform .2s ease;
}

.header-carousel.owl-carousel .owl-dot.active {
    background: #30302e;
    transform: scale(1.25);
}

.header-carousel.owl-carousel .owl-dot:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 3px;
}

.beneficios-site {
    border-bottom: 1px solid #ececec;
    background: #fff;
}

.storefront-benefit {
    display: flex;
    min-width: 0;
    border-right: 1px solid #ececec;
}

.storefront-benefit > div {
    display: flex;
    width: 100%;
    min-height: 112px;
    padding: 1.5rem clamp(1.1rem, 2vw, 2rem) !important;
    align-items: center;
}

.storefront-benefit > div > div {
    display: grid !important;
    width: 100%;
    grid-template-columns: 38px minmax(0, 1fr);
    align-items: center;
    column-gap: 1rem;
}

.storefront-benefit:nth-child(4) {
    border-right: 0;
}

.storefront-benefit i {
    display: grid;
    width: 38px;
    height: 38px;
    margin: 0 !important;
    place-items: center;
    color: #333 !important;
    font-size: 1.45rem;
}

.storefront-benefit .ms-4 {
    min-width: 0;
    margin-left: 0 !important;
}

.beneficios-site h6 {
    margin-bottom: .2rem !important;
    font-family: 'Inter', sans-serif;
    font-size: .78rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .02em;
    text-transform: none !important;
}

.beneficios-site p {
    color: #777;
    font-size: .75rem;
    line-height: 1.35;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .storefront-benefit:nth-child(-n+2) { border-bottom: 1px solid #ececec; }
    .storefront-benefit:nth-child(2) { border-right: 0; }
}

.storefront-section-heading {
    margin-bottom: 1.75rem;
}

.storefront-section-heading h2 {
    margin: 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
}

#vitrine-produtos,
.product {
    background: #fff;
}

.product .product-item .product-item-inner {
    border: 1px solid #e5e6e3 !important;
    border-radius: 11px !important;
    box-shadow: none;
}

.product .product-item:hover .product-item-inner {
    border: 1px solid #d8dad6 !important;
    border-radius: 11px !important;
    box-shadow: 0 5px 16px rgba(28, 30, 27, .055);
    transform: none;
}

.product .product-item .product-item-inner .product-item-inner-item {
    border-radius: 10px;
    background: #f7f7f6;
}

.product .produto-card-imagem,
.product .produto-card-sem-imagem {
    height: 300px;
}

.product .produto-card-imagem {
    padding: 1.5rem;
}

.product-card-content {
    min-height: 172px;
    padding: 1rem .85rem .85rem;
    border-top: 0;
    text-align: center;
}

.product-card-category {
    color: #85817c;
    font-size: .67rem;
}

.produto-card-nome {
    min-height: 40px;
    color: #262626;
    font-size: .94rem !important;
    font-weight: 500;
    line-height: 1.3;
}

.product-card-price {
    display: flex;
    min-height: 36px;
    margin-top: .1rem;
    align-items: center;
    justify-content: center;
    gap: .5rem;
}

.product-card-price del {
    display: inline;
    margin: 0;
}

.product-card-price strong {
    font-size: 1rem;
}

.product-card-buy {
    display: block;
    width: 82%;
    margin: .35rem auto 0;
    padding: .65rem .9rem;
    font-size: .76rem;
}

.product .product-item .product-new,
.product .product-item .product-sale {
    top: 12px !important;
    left: 12px;
    border-radius: 50px !important;
    background: #363734 !important;
    color: #fff !important;
}

.product .product-item .product-sale {
    background: #198754 !important;
}

.product .row.g-4 {
    --bs-gutter-x: 1.75rem;
    --bs-gutter-y: 3rem;
}

.vitrine-painel {
    opacity: 0;
    transform: translateY(8px);
}

.vitrine-painel.active {
    opacity: 1;
    transform: translateY(0);
    transition: opacity .3s ease, transform .3s ease;
}

.vitrine-ver-mais {
    border: 1px solid #30302e;
    background: #fff;
    color: #30302e;
    font-size: .8rem;
    font-weight: 600;
    letter-spacing: .025em;
}

.vitrine-ver-mais:hover,
.vitrine-ver-mais:focus {
    border-color: #30302e;
    background: #30302e;
    color: #fff;
}

.footer {
    border-top: 1px solid #e8e8e8;
    background: #fff;
}

.footer h4,
.footer h5,
.footer p,
.footer .footer-item a {
    color: #353535 !important;
}

.copyright {
    border-top: 1px solid #e8e8e8;
    background: #fff !important;
    color: #666 !important;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .storefront-hero .container {
        width: calc(100% - 3rem);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .storefront-hero .container {
        width: calc(100% - 2rem);
        max-width: none;
    }
}

@media (max-width: 991.98px) {
    .storefront-hero .container {
        width: 100%;
        max-width: none;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .storefront-hero .header-carousel-item { min-height: auto; }
    .storefront-hero-image { height: 340px; padding: 1.5rem 1rem 0; }
    .storefront-hero .carousel-content { padding: 2rem 1.5rem 3.5rem; text-align: center; }
    .storefront-hero p { margin-right: auto; margin-left: auto; }
    .storefront-hero-price { justify-content: center; }
    .nav-bar .navbar { padding: .5rem 0 !important; }
}

@media (max-width: 575.98px) {
    .storefront-hero-image { height: 285px; }
    .storefront-hero h1 { font-size: 2.25rem; }
    .product .produto-card-imagem,
    .product .produto-card-sem-imagem { height: 285px; }
    .product-card-content { min-height: 172px; }
}

/*** Catálogo inferior: carrossel leve e sem ampliação excessiva ***/
.productList .productList-carousel {
    height: auto !important;
    padding-bottom: 2.25rem;
}

.productList .productList-carousel .owl-stage {
    display: flex;
}

.productList .productList-carousel .owl-item {
    display: flex;
    min-height: 100%;
}

.productList .products-mini-item {
    width: 100%;
    min-height: 190px;
}

.productList .products-mini-item > .row {
    width: 100%;
}

.productList .products-mini-img {
    min-height: 188px;
}

.productList .produto-mini-imagem {
    padding: 1rem;
    object-fit: contain;
    transform: none !important;
    opacity: 1 !important;
    transition: opacity .2s ease !important;
}

.productList .products-mini-item:hover .produto-mini-imagem {
    transform: none !important;
    opacity: .94 !important;
}

.productList .products-mini-content {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
}

.productList .produto-mini-nome {
    display: -webkit-box !important;
    overflow: hidden;
    font-size: 1rem;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.productList .productList-carousel .owl-nav {
    display: none;
}

.productList .productList-carousel .owl-dots {
    position: absolute;
    right: 0;
    bottom: .25rem;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.productList .productList-carousel .owl-dot {
    width: 8px;
    height: 8px;
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    background: #c9cbc7;
    transition: background-color .2s ease, transform .2s ease;
}

.productList .productList-carousel .owl-dot.active {
    background: #343532;
    transform: scale(1.2);
}

@media (max-width: 575.98px) {
    .productList .products-mini-item,
    .productList .products-mini-img {
        min-height: 160px;
    }

    .productList .products-mini-content {
        padding: 1rem !important;
    }
}

/*** Calm motion and accessible footer ***/
.produtos-destaque-secao {
    background:
        radial-gradient(circle at 12% 15%, rgba(255, 255, 255, .72), transparent 34%),
        linear-gradient(135deg, #f8f4ec 0%, #eee4d5 52%, #f7f2e9 100%) !important;
}

.produtos-destaque-secao .storefront-section-heading p {
    margin-top: .8rem;
    color: #70695f;
}

.produtos-destaque-secao .products-featured-card {
    height: 100%;
    min-height: 215px;
    border: 1px solid rgba(111, 94, 72, .16);
    border-radius: 14px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 8px 24px rgba(79, 65, 47, .065);
    transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.produtos-destaque-secao .products-featured-card:hover {
    border-color: rgba(111, 94, 72, .27);
    border-radius: 14px !important;
    box-shadow: 0 12px 30px rgba(79, 65, 47, .1);
    transform: translateY(-2px);
}

.produtos-destaque-secao .products-mini-img {
    position: relative;
    min-height: 213px;
    border-right-color: rgba(111, 94, 72, .12);
    background: rgba(249, 247, 242, .9);
}

.produtos-destaque-secao .produto-mini-imagem {
    padding: 1rem;
    border-radius: 0 !important;
    object-fit: contain;
    transform: none !important;
    opacity: 1;
    transition: opacity .22s ease !important;
}

.produtos-destaque-secao .products-featured-card:hover .produto-mini-imagem {
    border-radius: 0 !important;
    transform: none !important;
    opacity: .94;
}

.products-featured-badge {
    position: absolute;
    top: .75rem;
    left: .75rem;
    z-index: 2;
    padding: .38rem .62rem;
    border-radius: 50px;
    background: #fff;
    color: #6d5b43;
    box-shadow: 0 3px 12px rgba(62, 49, 34, .1);
    font-size: .63rem;
    font-weight: 700;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.produtos-destaque-secao .products-mini-content {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 1.25rem !important;
}

.produtos-destaque-secao .produto-mini-nome {
    color: #302d29;
    font-size: 1rem;
    line-height: 1.35;
}

.produtos-destaque-secao .produto-mini-nome:hover,
.products-featured-link:hover {
    color: var(--site-link-hover);
}

.products-featured-link {
    display: inline-flex;
    margin-top: 1rem;
    align-items: center;
    gap: .45rem;
    color: var(--site-link-color);
    font-size: .75rem;
    font-weight: 700;
    letter-spacing: .035em;
    text-transform: uppercase;
}

@media (max-width: 575.98px) {
    .produtos-destaque-secao .products-featured-card,
    .produtos-destaque-secao .products-mini-img {
        min-height: 185px;
    }
}

.footer {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
    border-top: 1px solid #e5e7eb;
    background: #f7f7f5;
}

.footer > .container {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (max-width: 767.98px) {
    .footer {
        padding: 1.5rem .75rem !important;
    }

}

/*** Site header ***/
.site-header {
    position: relative;
    z-index: 100;
    border-top: 1px solid #ececec;
    background: #fff;
}

.site-header-main {
    background: #fff;
}

.site-header-container {
    width: 75%;
    max-width: 1440px;
    padding-right: .938rem;
    padding-left: .938rem;
}

.site-header-grid {
    display: grid;
    min-height: 110px;
    grid-template-columns: 220px minmax(400px, 1fr) 220px;
    gap: 3rem;
    align-items: center;
}

.site-header-logo {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    justify-self: start;
}

.site-header-logo img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 92px;
    object-fit: contain;
}

.site-header-logo-fallback {
    display: flex;
    align-items: center;
    gap: .75rem;
    color: #252525;
    font-family: 'Lora', serif;
    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight: 600;
}

.site-header-logo-fallback i {
    color: var(--bs-primary);
}

.site-header .site-header-search {
    display: flex;
    height: 48px;
    overflow: hidden;
    align-items: center;
    border: 1px solid #e4e4e4 !important;
    border-radius: 50px !important;
    background: #fff;
    width: 100%;
    max-width: 700px;
    justify-self: center;
}

.site-header .site-header-search:focus-within {
    border-color: #c8c8c8 !important;
}

.site-header-search input {
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0 1.5rem;
    border: 0;
    outline: 0;
    background: transparent;
    color: #292929;
    font-size: .9rem;
}

.site-header-search input::placeholder {
    color: #777;
    opacity: 1;
}

.site-header-search button {
    display: inline-flex;
    width: 52px;
    height: 100%;
    flex: 0 0 52px;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #676767;
    font-size: 1.05rem;
}

.site-header-search button:hover {
    color: var(--bs-primary);
}

.site-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1.25rem, 2.4vw, 2.5rem);
    justify-self: end;
}

.site-header-account,
.site-header-cart {
    display: inline-flex;
    align-items: center;
    color: #30302e;
}

.site-header-account {
    gap: .55rem;
    white-space: nowrap;
    font-size: .86rem;
    font-weight: 500;
}

.site-header-account-copy {
    display: flex;
    flex-direction: column;
    gap: .12rem;
    line-height: 1.15;
}

.site-header-account-links {
    display: flex;
    align-items: center;
    gap: .25rem;
    color: #858585;
    font-size: .67rem;
    font-weight: 400;
}

.site-header-account-links a {
    color: #202020 !important;
    text-decoration: none;
}

.site-header-account-links a:hover {
    color: #202020 !important;
    text-decoration: none;
}

.site-header-account i {
    color: #5e5e5e;
    font-size: 1.3rem;
}

.site-header-cart {
    position: relative;
    min-width: 32px;
    justify-content: center;
    gap: 0;
}

.site-header-cart > i {
    color: #000;
    font-size: 1.45rem;
}

.site-header-cart-count {
    position: absolute;
    top: -6px;
    right: -5px;
    display: inline-flex;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    border-radius: 999px;
    background: #e74747;
    color: #fff;
    font-size: .58rem;
    font-weight: 700;
    line-height: 1;
    box-sizing: border-box;
}

.site-header-account:hover,
.site-header-cart:hover {
    color: var(--bs-primary);
}

.site-header-cart:hover > i,
.site-header-cart:focus-visible > i {
    color: #000;
}

.site-header-menu-button {
    display: none;
    width: 42px;
    height: 42px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dedede;
    border-radius: 50%;
    background: #fff;
    color: #30302e;
    font-size: 1rem;
}

.site-category-nav {
    border-bottom: 1px solid #ececec;
    background: #fff;
}

.site-category-nav .container {
    width: 75%;
    max-width: 1440px;
    padding-right: .938rem;
    padding-left: .938rem;
}

.site-category-links {
    display: flex;
    min-height: 60px;
    overflow: hidden;
    align-items: center;
    justify-content: space-between;
    gap: clamp(.65rem, 1.15vw, 1.35rem);
    padding-right: 0;
    scrollbar-width: none;
    white-space: nowrap;
}

.site-category-links::-webkit-scrollbar {
    display: none;
}

.site-category-links a {
    position: relative;
    flex: 0 0 auto;
    padding: 1.3rem 0;
    color: #292929;
    font-size: .78rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.site-category-links a::after {
    position: absolute;
    right: 0;
    bottom: 9px;
    left: 0;
    height: 2px;
    background: var(--bs-primary);
    content: '';
    opacity: 0;
    transform: scaleX(.5);
    transition: opacity .2s ease, transform .2s ease;
}

.site-category-links a:hover {
    color: var(--bs-primary);
}

.site-category-links a:hover::after {
    opacity: 1;
    transform: scaleX(1);
}

.site-mobile-menu {
    border-bottom: 1px solid #e5e5e5;
    background: #fff;
}

.site-mobile-menu nav {
    padding-top: .5rem;
    padding-bottom: .75rem;
}

.site-mobile-menu a {
    display: block;
    padding: .8rem 0;
    border-bottom: 1px solid #eeeeec;
    color: #30302e;
    font-size: .9rem;
    font-weight: 600;
}

.site-mobile-menu a:last-child {
    border-bottom: 0;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .site-header-container,
    .site-category-nav .container {
        width: calc(100% - 3rem);
    }
}

@media (max-width: 1199.98px) {
    .site-header-container,
    .site-category-nav .container {
        width: calc(100% - 2rem);
        max-width: none;
    }

    .site-header-grid {
        grid-template-columns: 180px minmax(320px, 1fr) 180px;
        gap: 2rem;
    }

    .site-header-account span {
        display: none;
    }

    .site-category-links { gap: 1.5rem; }
    .site-category-links a { font-size: .88rem; }
}

@media (max-width: 991.98px) {
    .site-header {
        border-top: 0;
        box-shadow: 0 1px 0 #ececec;
    }

    .site-header-grid {
        min-height: auto;
        padding: 1rem 0;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 1rem;
    }

    .site-header-container {
        width: 100%;
    }

    .site-header-logo img {
        max-width: 190px;
        max-height: 62px;
    }

    .site-header-search {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .site-header-actions {
        gap: .8rem;
    }

    .site-header-account i,
    .site-header-cart > i {
        font-size: 1.2rem;
    }

    .site-header-menu-button {
        display: inline-flex;
    }

    .site-category-nav {
        display: none;
    }
}

@media (max-width: 575.98px) {
    #vitrine-produtos {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }
    #vitrine-produtos > .container,
    .products > .container {
        padding-top: 1rem !important;
        padding-bottom: 1rem !important;
    }
    .site-header-container {
        width: 100%;
        padding-right: 1rem;
        padding-left: 1rem;
    }

    .site-header-grid {
        padding: .8rem 0 1rem;
        gap: .8rem;
    }

    .site-header-logo img {
        max-width: 145px;
        max-height: 50px;
    }

    .site-header-logo-fallback {
        font-size: 1.15rem;
    }

    .site-header .site-header-search {
        height: 48px;
    }

    .site-header-search input {
        padding: 0 1.1rem;
        font-size: .84rem;
    }

    .site-header-search button {
        width: 48px;
        flex-basis: 48px;
        font-size: 1.05rem;
    }

    .site-header-actions {
        gap: .65rem;
    }

    .site-header-account,
    .site-header-cart,
    .site-header-menu-button {
        width: 36px;
        height: 36px;
        justify-content: center;
    }

    .site-header-account i,
    .site-header-cart > i {
        font-size: 1.18rem;
    }
}

/*** Mobile header and drawer ***/
.site-mobile-menu.offcanvas {
    width: min(86vw, 370px);
    border-right: 0;
    background: #fff;
    box-shadow: 12px 0 35px rgba(25, 29, 35, .12);
}

.site-mobile-menu-header {
    min-height: 116px;
    padding: 1.35rem 1.25rem;
    align-items: flex-start;
    border-bottom: 1px solid #ececea;
    background: #f8f8f6;
}

.site-mobile-menu-header .btn-close {
    margin: 0;
    padding: .55rem;
    font-size: .7rem;
}

.site-mobile-menu-eyebrow {
    display: block;
    margin-bottom: .5rem;
    color: #8a8a85;
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.site-mobile-menu .site-mobile-account-main {
    display: flex;
    padding: 0;
    align-items: center;
    gap: .6rem;
    border: 0;
    color: #252525;
    font-size: 1rem;
    font-weight: 700;
}

.site-mobile-account-main i {
    color: #565656;
    font-size: 1.15rem;
}

.site-mobile-menu .site-mobile-account-secondary,
.site-mobile-account-options {
    margin-top: .45rem;
    color: #747474;
    font-size: .76rem;
}

.site-mobile-account-options {
    display: flex;
    gap: .35rem;
}

.site-mobile-menu .site-mobile-account-options a,
.site-mobile-menu .site-mobile-account-secondary {
    display: inline;
    padding: 0;
    border: 0;
    color: #586c7d;
    font-size: inherit;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.site-mobile-menu-body {
    padding: .65rem 1.25rem 1.5rem;
}

.site-mobile-menu-body > nav {
    padding: 0;
}

.site-mobile-menu .site-mobile-menu-link,
.site-mobile-submenu-toggle {
    display: flex;
    width: 100%;
    padding: .95rem 0;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-bottom: 1px solid #eeeeeb;
    background: transparent;
    color: #30302e;
    font-size: .85rem;
    font-weight: 600;
    text-align: left;
}

.site-mobile-submenu-toggle i {
    color: #858585;
    font-size: .68rem;
    transition: transform .2s ease;
}

.site-mobile-submenu-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.site-mobile-categories {
    padding: .35rem 0 .55rem .85rem;
    border-bottom: 1px solid #eeeeeb;
}

.site-mobile-menu .site-mobile-categories a,
.site-mobile-menu .site-mobile-categories span {
    display: block;
    padding: .65rem 0;
    border: 0;
    color: #666;
    font-size: .78rem;
    font-weight: 500;
}

.site-mobile-menu .site-mobile-categories a:first-child {
    color: var(--bs-primary);
    font-weight: 700;
}

.produto-grade {
    padding: 1rem 0;
    border-top: 1px solid #ddd8d0;
    border-bottom: 1px solid #ddd8d0;
}
.produto-grade-cabecalho,
.produto-tamanhos-cabecalho {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}
.produto-grade-cabecalho h2,
.produto-tamanhos-cabecalho h2 { font-size: .95rem; font-weight: 600; }
.produto-grade-cabecalho > span { color: #69645d; font-size: .75rem; }
.produto-cores { display: flex; margin: .75rem 0 1rem; gap: .6rem; overflow-x: auto; padding-bottom: .3rem; }
.produto-cor { width: 68px; flex: 0 0 68px; padding: 0; border: 0; background: transparent; color: #292826; text-align: left; font-size: .7rem; }
.produto-cor-imagem { display: grid; width: 68px; height: 76px; margin-bottom: .35rem; place-items: center; overflow: hidden; border: 1px solid transparent; background: #f3f2f0; }
.produto-cor-imagem img { width: 100%; height: 100%; padding: .35rem; object-fit: contain; }
.produto-cor-imagem i { width: 38px; height: 38px; border-radius: 50%; }
.produto-cor-com-imagem.active .produto-cor-imagem { border-color: #77736d; }
.produto-cor-amostra .produto-cor-imagem { position: relative; border: 0; background: transparent; }
.produto-cor-amostra { width: 54px; flex-basis: 54px; text-align: center; }
.produto-cor-amostra .produto-cor-imagem { width: 54px; height: 58px; }
.produto-cor-amostra .produto-cor-imagem i { width: 30px; height: 30px; border: 1px solid rgba(35, 34, 32, .12); box-shadow: 0 1px 3px rgba(35, 34, 32, .08); transition: box-shadow .18s ease, transform .18s ease; }
.produto-cor-amostra:hover .produto-cor-imagem i { transform: scale(1.04); box-shadow: 0 0 0 3px #fff, 0 0 0 4px #c9c5be; }
.produto-cor-amostra.active .produto-cor-imagem i { transform: scale(1.04); box-shadow: 0 0 0 3px #fff, 0 0 0 5px #6e6a64; }
.produto-cor-com-imagem .produto-cor-imagem { transition: border-color .18s ease, opacity .18s ease; }
.produto-cor-com-imagem:hover .produto-cor-imagem { border-color: #c7c3bd; }
.produto-tamanhos { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.produto-tamanhos button { min-width: 44px; height: 44px; padding: 0 .7rem; border: 1px solid transparent; border-radius: 50px; background: transparent; color: #262523; font-size: .98rem; box-shadow: none; }
.produto-tamanhos button:hover:not(:disabled) { color: #262523; }
.produto-tamanhos button.active { border-color: #6e6a64; background: transparent; color: #262523; }
.produto-tamanhos button:disabled { border-color: transparent; color: #aaa59e; text-decoration: line-through; cursor: not-allowed; }
.produto-guia-tamanhos { display: inline-flex; padding: .2rem 0; align-items: center; gap: .45rem; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: #57534e; font-size: .75rem; line-height: 1.2; }
.produto-guia-tamanhos:hover { color: var(--bs-primary); }
.produto-guia-tamanhos i { font-size: .82rem; }
.produto-guia-modal { border: 0; border-radius: 0; }
.produto-guia-modal .modal-header { padding: 1.25rem 1.35rem; border-color: #e5e1da; }
.produto-guia-modal .modal-body { padding: 1.25rem 1.35rem 1.5rem; }
.produto-guia-sobrelinha { display: block; margin-bottom: .2rem; color: #858079; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.produto-guia-subtitulo { margin: 1rem 0 .45rem; font-size: .85rem; font-weight: 700; text-transform: uppercase; }
.produto-guia-tabela { font-size: .78rem; }
.produto-guia-tabela > :not(caption) > * > * { padding: .55rem .35rem; border-color: #ece8e2; background: transparent; }
@media (max-width: 575.98px) {
    .produto-grade-cabecalho, .produto-tamanhos-cabecalho { align-items: flex-start; flex-direction: column; gap: .35rem; }
    .produto-tamanhos-cabecalho { flex-direction: row; align-items: center; }
    .produto-cor { width: 62px; flex-basis: 62px; }
    .produto-cor-imagem { width: 62px; height: 70px; }
    .produto-cor-amostra { width: 50px; flex-basis: 50px; }
    .produto-cor-amostra .produto-cor-imagem { width: 50px; height: 54px; }
    .produto-cor-amostra .produto-cor-imagem i { width: 28px; height: 28px; }
}

.produto-detalhe-resumo { margin-bottom: .75rem; font-size: .9rem; line-height: 1.55; }
.produto-detalhe-titulo { font-size: clamp(1.45rem, 2vw, 1.85rem) !important; line-height: 1.15 !important; }
.produto-detalhe-preco { padding: .75rem .9rem !important; }
.produto-detalhe-preco .display-6 { font-size: clamp(1.55rem, 2.5vw, 2rem) !important; }
.produto-detalhe-informacoes { gap: .5rem !important; font-size: .82rem; }
.produto-detalhe-informacoes > div { padding: .65rem !important; }
.produto-detalhe-botao { width: 100%; min-width: 0 !important; padding-top: .78rem !important; padding-bottom: .78rem !important; font-size: .82rem; }

.footer.rodape-site .rodape-atendimento p {
    color: #dddddd !important;
}

.footer.rodape-site .rodape-base p {
    color: #d6d6d6 !important;
}

.carrinho-continuar-comprando,
.carrinho-continuar-comprando:hover,
.carrinho-continuar-comprando:focus,
.carrinho-continuar-comprando:active {
    border: 1px solid #202020 !important;
    background: transparent !important;
    color: #202020 !important;
    box-shadow: none !important;
    transform: none !important;
}

.btn.btn-primary.carrinho-finalizar {
    border-color: #579979 !important;
    background: #579979 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.btn.btn-primary.carrinho-finalizar:hover,
.btn.btn-primary.carrinho-finalizar:focus {
    border-color: #000 !important;
    background: #000 !important;
    color: #fff !important;
    transform: none;
    box-shadow: none !important;
}

.checkout-voltar-sacola {
    border: 1px solid #202020 !important;
    background: transparent !important;
    color: #202020 !important;
    box-shadow: none !important;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease !important;
}

.checkout-voltar-sacola:hover,
.checkout-voltar-sacola:focus,
.checkout-voltar-sacola:active {
    border-color: #000 !important;
    background: #000 !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

.carrinho-item-remover,
.carrinho-item-remover:hover,
.carrinho-item-remover:focus,
.carrinho-item-remover:active {
    display: inline-flex;
    padding: .3rem 0;
    align-items: center;
    gap: .4rem;
    border: 0;
    background: transparent;
    color: #202020;
    font-size: .75rem;
    line-height: 1;
    text-decoration: none !important;
    box-shadow: none;
    transform: none;
}

.carrinho-item-remover i {
    display: inline-block;
    font-size: .72rem;
    text-decoration: none !important;
}

.carrinho-item-remover span {
    display: inline-block;
    padding-bottom: 2px;
    border-bottom: 1px solid currentColor;
    line-height: 1;
    text-decoration: none !important;
}

.carrinho-item-dados a,
.carrinho-item-dados a:hover,
.carrinho-item-dados a:focus {
    color: #202020 !important;
}

/* Página de produto: composição aberta, com divisões leves em vez de blocos. */
.produto-pagina {
    background: #fff;
}

.produto-detalhe-layout {
    border: 0;
    background: transparent;
}

.produto-detalhe-compra {
    padding-top: .2rem;
}

.produto-detalhe-imagem {
    height: min(590px, 70vh);
    border: 0 !important;
    border-radius: 0 !important;
    background: #f7f7f5;
}

@media (hover: hover) and (pointer: fine) {
    .produto-detalhe-imagem[data-produto-zoom] { cursor: zoom-in; }
    .produto-detalhe-imagem[data-produto-zoom] > img {
        will-change: transform;
        transform: scale(1);
        transform-origin: 50% 50%;
        transition: transform .28s ease, transform-origin .08s linear;
    }
    .produto-detalhe-imagem[data-produto-zoom].is-zooming { cursor: zoom-out; }
    .produto-detalhe-imagem[data-produto-zoom].is-zooming > img { transform: scale(2.15); }
}

@media (prefers-reduced-motion: reduce) {
    .produto-detalhe-imagem[data-produto-zoom] > img { transition:none !important; }
}

.produto-detalhe-categoria {
    padding: 0 0 .35rem;
    border: 0;
    border-radius: 0;
    font-size: .68rem;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.produto-detalhe-preco {
    padding-right: 0 !important;
    padding-left: 0 !important;
    border-top: 1px solid #dedbd5;
    border-right: 0;
    border-bottom: 1px solid #dedbd5;
    border-left: 0;
    border-radius: 0;
    background: transparent;
}

.produto-detalhe-informacoes {
    display: block;
    border-bottom: 1px solid #dedbd5;
}

.produto-detalhe-informacoes > div {
    display: flex;
    padding: .7rem 0 !important;
    align-items: center;
    gap: .4rem;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.produto-detalhe-informacoes > div:first-child {
    border-top: 0;
}

.produto-grade {
    border-color: #dedbd5;
}

.frete-cep-box.produto-detalhe-divisao {
    max-width: none;
    padding: 1rem 0;
    border: 0;
    border-bottom: 1px solid #dedbd5;
    border-radius: 0;
    background: transparent;
}

.frete-cep-box.produto-detalhe-divisao .input-group {
    max-width: 390px;
}

.produto-detalhe-descricao {
    border: 0;
    border-top: 1px solid #dedbd5;
    border-radius: 0;
    background: transparent;
}

.produto-detalhe-descricao h2 {
    padding-left: 0;
    font-size: 1.15rem;
}

.produto-detalhe-descricao h2::before {
    display: none;
}

@media (max-width: 991.98px) {
    .produto-pagina-container {
        max-width: 760px;
    }

    .produto-detalhe-imagem {
        height: min(560px, 62vh);
    }

    .produto-detalhe-compra {
        padding-top: .5rem;
    }
}

@media (max-width: 575.98px) {
    .produto-pagina {
        padding-top: 1rem !important;
    }

    .produto-breadcrumb {
        margin-bottom: 1rem !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .produto-detalhe-imagem {
        height: min(430px, 54vh);
        margin-right: -.25rem;
        margin-left: -.25rem;
    }

    .produto-detalhe-miniaturas {
        gap: .5rem !important;
        overflow-x: auto;
    }

    .produto-detalhe-miniaturas button {
        width: 64px;
        height: 64px;
        flex: 0 0 64px;
        border-width: 1px;
        border-radius: 0;
    }

    .produto-detalhe-compra {
        padding-top: .2rem;
    }

    .produto-detalhe-titulo {
        margin-top: .55rem !important;
        margin-bottom: .65rem !important;
    }

    .produto-detalhe-preco {
        align-items: baseline !important;
    }

    .produto-detalhe-descricao {
        margin-top: 2.5rem !important;
        padding: 1.25rem 0 0 !important;
    }
}

@media (max-width: 991.98px) {
    .site-header-grid {
        grid-template-columns: 42px minmax(0, 1fr) 42px;
        grid-template-rows: auto auto;
    }

    .site-header-menu-button {
        grid-column: 1;
        grid-row: 1;
        justify-self: start;
    }

    .site-header-logo {
        grid-column: 2;
        grid-row: 1;
        justify-self: center;
    }

    .site-header-actions {
        grid-column: 3;
        grid-row: 1;
        justify-self: end;
    }

    .site-header-account {
        display: none;
    }

    .site-header-cart {
        width: 42px;
        height: 42px;
        justify-content: center;
    }

    .site-header-search {
        grid-column: 1 / -1;
        grid-row: 2;
    }
}

@media (max-width: 575.98px) {
    .site-header-grid {
        grid-template-columns: 36px minmax(0, 1fr) 36px;
    }

    .site-header-logo img {
        max-width: min(150px, 52vw);
    }

    .site-header-cart {
        width: 36px;
        height: 36px;
    }
}

/* Refinamento final dos cards em duas colunas no mobile. */
.transicao-pagina {
    position: fixed;
    z-index: 10000;
    inset: 0;
    display: grid;
    place-items: center;
    visibility: hidden;
    background: rgba(0, 0, 0, .3);
    opacity: 0;
    pointer-events: none;
    transition: opacity .14s ease, visibility 0s linear .14s;
}

.transicao-pagina.ativa {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: opacity .14s ease;
}

.transicao-pagina-spinner {
    width: 46px;
    height: 46px;
    border: 2px solid rgba(255, 255, 255, .38);
    border-top-color: #fff;
    border-radius: 50%;
    animation: transicao-pagina-girar .6s linear infinite;
}

@keyframes transicao-pagina-girar {
    to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
    .transicao-pagina { transition: none; }
    .transicao-pagina-spinner { animation: none; }
}

.oferta-percentual {
    display: inline-block;
    background: linear-gradient(110deg, #765426 0%, #b78d4c 48%, #d4b77c 72%, #87632e 100%);
    background-clip: text;
    color: transparent !important;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.oferta-descricao-curta {
    display: -webkit-box;
    min-height: 3em;
    overflow: hidden;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.oferta-card {
    min-height: 285px;
    color: inherit;
    text-decoration: none;
}

.oferta-card-conteudo {
    width: 55%;
    min-width: 0;
}

.oferta-card-titulo {
    display: -webkit-box;
    min-height: 2.4em;
    overflow: hidden;
    line-height: 1.2;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.oferta-card-imagem {
    width: 45%;
    height: 190px;
    flex: 0 0 45%;
    object-fit: contain;
}

@media (max-width: 575.98px) {
    .oferta-card {
        min-height: 250px;
        padding: 1.25rem !important;
    }

    .oferta-card-conteudo { width: 58%; }
    .oferta-card-imagem { width: 42%; height: 155px; flex-basis: 42%; }
    .oferta-card-titulo { font-size: 1.3rem; }
    .oferta-card .display-3 { font-size: calc(1.45rem + 2.1vw); }
}

@media (max-width: 575.98px) {
    .vitrine-painel > .row,
    .produtos-relacionados-secao > .row,
    .produtos-destaque-secao .row.g-4 {
        --bs-gutter-x: .75rem;
        --bs-gutter-y: .75rem;
    }
    .product .produto-card-imagem,
    .product .produto-card-sem-imagem { height: 172px !important; }
    .product .produto-card-imagem { padding: .7rem !important; }
    .product-card-content { min-height: 154px !important; padding: .72rem .6rem .65rem !important; }
    .product-card-category { min-height: 1.8em; margin-bottom: .3rem; overflow: hidden; font-size: .57rem; line-height: 1.2; white-space: nowrap; text-overflow: ellipsis; }
    .produto-card-nome { min-height: 36px !important; font-size: .78rem !important; line-height: 1.3 !important; }
    .product-card-price { min-height: 31px; gap: .3rem; }
    .product-card-price del { font-size: .66rem; }
    .product-card-price strong { font-size: .82rem; }
    .product-card-buy { width: 94%; padding: .52rem .35rem; font-size: .64rem; }
    .product .product-item .product-new,
    .product .product-item .product-sale { top: 8px !important; left: 8px; min-height: 21px; padding: .25rem .45rem; font-size: .56rem; }
    .productList .productList-carousel { padding-top: .5rem !important; }
    .productList .products-mini-item > .row,
    .produtos-destaque-secao .products-featured-card > .row { display: block; }
    .productList .products-mini-item > .row > [class*="col-"],
    .produtos-destaque-secao .products-featured-card > .row > [class*="col-"] { width: 100%; }
    .productList .products-mini-img,
    .produtos-destaque-secao .products-mini-img { min-height: 145px !important; height: 145px !important; }
    .productList .products-mini-content,
    .produtos-destaque-secao .products-mini-content { min-height: 132px; padding: .7rem !important; text-align: center; }
    .productList .produto-mini-nome,
    .produtos-destaque-secao .produto-mini-nome { min-height: 34px; margin-bottom: .35rem; overflow: hidden; font-size: .76rem; line-height: 1.3; }
    .products-featured-link { margin-top: .5rem; justify-content: center; font-size: .58rem; }
    .products-featured-badge { top: 7px; left: 7px; padding: .25rem .4rem; font-size: .52rem; }
}

/* Cards compactos: a dimensão original da foto nunca altera o card. */
.produto-avaliacoes { border-top: 1px solid #e5e5e5; scroll-margin-top: 1.5rem; }
.produto-avaliacoes-form { max-width: 650px; padding: 1.4rem; border: 1px solid #e2e2e2; border-radius: 10px; background: #fafafa; }
.produto-avaliacoes-form .form-control,
.produto-avaliacoes-form .form-select {
    color: #212529 !important;
    -webkit-text-fill-color: #212529;
    opacity: 1;
}
.produto-avaliacoes-form .form-select option { color: #212529; }
.produto-avaliacoes-estrelas { color: #e5ad00; letter-spacing: .12em; }
.produto-avaliacao-item { padding: 1.15rem 0; border-top: 1px solid #e9e9e9; overflow-wrap: anywhere; }
.produto-avaliacoes-login a { color: #202020; text-decoration: underline; text-underline-offset: 3px; }
.produto-avaliacoes-login a:hover { color: #555; }
.produto-card-avaliacao { color: #292929; font-size: .82rem; font-weight: 600; line-height: 1.4; }
.produto-card-avaliacao span, .produto-detalhe-avaliacao span { color: #e5ad00; }
.produto-card-avaliacao small { color: #666; font-weight: 400; }
.produto-detalhe-avaliacao { display: inline-flex; align-items: center; gap: .3rem; color: #292929; text-decoration: none; margin-bottom: .65rem; }
.produto-detalhe-avaliacao:hover { color: #555; }
.produto-detalhe-avaliacao small { color: #666; }
.produto-avaliacao-cabecalho { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; margin-bottom: .25rem; }
.produto-avaliacao-cabecalho time { margin-left: auto; }
.produto-avaliacao-foto { width: 42px; height: 42px; flex: 0 0 42px; border-radius: 50%; object-fit: cover; }
.produto-avaliacao-foto-padrao { display: inline-flex; align-items: center; justify-content: center; background: #eee; color: #666; }
.site-feedback-avaliacao {
    display: flex;
    max-width: 720px;
    align-items: center;
    gap: .9rem;
    margin: 0 auto;
    padding: 1rem 1.1rem;
    border: 1px solid #cfe8d7;
    border-radius: 14px;
    background: #f4fbf6;
    color: #1e3325;
    box-shadow: 0 10px 28px rgba(28, 74, 43, .08);
}
.site-feedback-icone {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: #dcefe2;
    color: #287a43;
}
.site-feedback-conteudo { display: grid; gap: .12rem; line-height: 1.4; }
.site-feedback-conteudo strong { color: #17291d; font-size: 1rem; }
.site-feedback-conteudo span { color: #526258; font-size: .9rem; }
.site-feedback-fechar {
    margin-left: auto;
    padding: .45rem;
    border: 0;
    background: transparent;
    color: #647269;
    line-height: 1;
}
.site-feedback-fechar:hover { color: #17291d; }
.productList .products-mini-item {
    height: 190px;
    min-height: 190px;
}

.productList .products-mini-img,
.produtos-destaque-secao .products-mini-img {
    position: relative;
    display: block;
    height: 100%;
    min-height: 0;
}

.productList .produto-mini-imagem,
.produtos-destaque-secao .produto-mini-imagem {
    position: absolute;
    inset: 1rem;
    width: calc(100% - 2rem) !important;
    height: calc(100% - 2rem) !important;
    max-width: calc(100% - 2rem);
    max-height: calc(100% - 2rem);
    margin: auto;
    padding: 0 !important;
    object-fit: contain;
    object-position: center;
}

.produtos-destaque-secao .products-featured-card {
    height: 215px;
    min-height: 215px;
}

@media (max-width: 575.98px) {
    .productList .products-mini-item,
    .produtos-destaque-secao .products-featured-card {
        height: auto;
        min-height: 0;
    }

    .productList .products-mini-img,
    .produtos-destaque-secao .products-mini-img {
        height: 145px !important;
        min-height: 145px !important;
    }

    .productList .produto-mini-imagem,
    .produtos-destaque-secao .produto-mini-imagem {
        inset: .7rem;
        width: calc(100% - 1.4rem) !important;
        height: calc(100% - 1.4rem) !important;
        max-width: calc(100% - 1.4rem);
        max-height: calc(100% - 1.4rem);
    }
}
