@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap");
@import "default.css";
@import "minimal.css";
@import "swiper-bundle.min.css";


aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide div#modal-content-12 {
    border-radius: 5px;
}

aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .opc-block-summary {
    border-radius: 5px;
}

aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .opc-block-summary  span.title, aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .shipping-information-title > span {
    font-size: 25px!important;
    font-weight: bold!important;
}


aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .block.items-in-cart .title strong {
    font-size: 18px;
    font-weight: bold;
}

aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .product-item-inner {
    font-size: 15px;
}

aside.modal-custom.opc-sidebar.opc-summary-wrapper.custom-slide .opc-block-summary .product-item .subtotal span {
    font-size: 18px;
    font-weight: 500;
}

.opc-progress-bar-item._active:before {
    background: #0060af!important;
    border-color: #0060af!important;
}

.opc-progress-bar-item._active > span:before {
        background: #0060af!important;
    border-color: #0060af!important;
}

.opc-progress-bar-item._active > span:after {
       border-color: #0060af!important;
 
}
.opc-progress-bar-item > span:after {
          line-height: 20px;
}

:root {
    --colors-blue-04: #035;
}

*:not(i, em) {
    font-family: "IBM Plex Sans" !important;
}

/* input real mantido no fluxo de foco/leitor de tela (WCAG 2.1.1/4.1.2);
   o glifo customizado continua desenhado no label adjacente (Materialize [type=checkbox]+label).
   Seletor por classe (nao por id+option_id) para nao quebrar se a opcao do atributo for recriada. */
input.ca_ca_aceito_de_termos{
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* aro de foco visivel no glifo custom quando o input real recebe foco por teclado */
input.ca_ca_aceito_de_termos:focus-visible + label:before {
    outline: 2px solid #0050c8 !important;
    outline-offset: 2px !important;
}

.ca_ca_aceito_de_termos label[for="ca_ca_aceito_de_termos"] span{
    width: 100% !important;
}

.field.ca_ca_aceito_de_termos  label {
    display:flex !important;
    margin-bottom: 6px;
}

.field.ca_ca_aceito_de_termos span {
    width: 60%;
}

.field.ca_ca_aceito_de_termos label[for="ca_ca_aceito_de_termos"] {
    width: 100% !important;
    display: flex !important;
    justify-content: flex-start;
    margin-top: 20px;
}

.customer-account-create .field.ca_ca_aceito_de_termos label[for="ca_ca_aceito_de_termos"]:after {
    position: relative !important;
    right: 0;
    top: -2px !important;
}

.field.ca_ca_aceito_de_termos   a {
    text-decoration: underline;
}

.field.ca_ca_aceito_de_termos span   {
    color: black !important;
}

@media (max-width: 768px){
    .field.ca_ca_aceito_de_termos span {
        width: 40%;
    }
}

.message.global p {
    margin: 0;
}
.message.global.noscript,
.message.global.cookie {
    margin: 0 0 10px;
    padding: 10px 20px;
    display: block;
    line-height: 1.2em;
    font-size: 1.3rem;
    background: #ffee9c;
    border-color: #d6ca8e;
    color: #333333;
    margin: 0;
}
.message.global.noscript a,
.message.global.cookie a {
    color: #1979c3;
}
.message.global.noscript a:hover,
.message.global.cookie a:hover {
    color: #006bb4;
}
.message.global.noscript a:active,
.message.global.cookie a:active {
    color: #ff5501;
}
.message.global.cookie {
    bottom: 0;
    left: 0;
    position: fixed;
    right: 0;
    z-index: 3;
}
.message.global.cookie .actions {
    margin-top: 10px;
}
div#notice-cookie-block {
    background: #fff;
    padding: 10px !important;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
    width: 90%;
    border-radius: 0 20px 0 0;
    border-right: 7px solid;
    border-top: 2px solid;
    border-color: #ddd;
    z-index: 99999;
}
.catalogsearch-advanced-result .message.notice {
    display: none;
}

.catalogsearch-advanced-result .sidebar.sidebar-additional {
    display: none;
}

.catalogsearch-advanced-result .column.main {
    width: 100% !important;
}

.content-busca-curso {
    width: 50%;
    left: 0;
    background: white;
    right: 0;
    margin: 0 auto;
    text-align: center;
    padding: 15px;
    box-shadow: 0 0 9px 0 #0000000f;
    border-radius: 6px;
}

.content-busca-curso input {
    text-align: left;
    border-radius: 7px !important;
    background: white;
    border: 1px solid #ddd !important;
    padding-left: 15px !important;
    width: 90% !important;
}

.content-busca-curso h1.catTitle {
    border: none;
}

.catalog-product-view .freteCalc.row.no_margin {
    display: none;
}

body {
    font-size: 15px !important;
}

body {
    background: #f7f7f7;
}
.btnMenuFixo,
.new-address-popup {
    display: none;
}

.header.content .minicart-wrapper {
    display: none;
}

nav.header.topNav,
nav.header.topNav i.material-icons {
    height: 30px;
    line-height: 30px;
}
nav.header.topNav {
    background: #0060af;
}

nav.header.topNav img {
    margin-top: 14px;
    margin-right: 10px;
}

nav.header.topNav .menuHorizontal li a {
    font-size: 0.8rem;
}

.topWelcome {
    padding: 17px 0;
}

.searchBox {
    display: flex;
    vertical-align: middle;
}

.searchBox input[type="search"] {
    border-radius: 8px;
    background-color: #f5f5f5;
    border: 1px solid #e6e6e6;
    height: 53px;
    line-height: 53px;
    padding: 0 10px;
}
.searchBox input[type="search"]:focus {
    border-bottom-color: #2c8b4d !important;
}
.searchBox input[type="search"]::placeholder {
    color: #949494;
}

.searchBox button {
    position: absolute;
    right: -11px;
    border-radius: 8px;
    border: 1px solid #e6e6e6;
    height: 54px;
    line-height: 54px !important;
    width: 54px;
    top: 1px;
}

.searchBox button i.material-icons {
    color: #002455;
    font-size: 2rem;
    line-height: 54px;
    margin: 0;
}

.cartHeader .contentCart {
    width: 320px;
    right: 0px;
    background: #fff;
    border-radius: 8px;
    display: none;
    z-index: 997;
}

.produtoItemListHeaderCart:nth-child(odd) {
    background: #f5f3f3;
}

.produtoItemListHeaderCart {
    padding: 6px 0;
    border-bottom: 1px dashed #ddd;
}

.contentCart.vazio .addItem {
    display: none;
}
.contentCart.addItem .vazio {
    display: none;
}

.topMiddleContent {
    width: calc(100% - 16.6666666667%);
    top: 0;
    right: 0;
    bottom: 0;
    height: 50px;
    margin: auto;
}

.col.col-shipping-methods,
.col.col-payment-methods {
    width: 100%;
}

ul.menuHorizontal.headerWelcome li {
    width: 33.333333%;
    padding: 0 calc(10% / 6);
    text-align: center;
    position: relative;
    min-width: 130px;
}

ul.menuHorizontal.headerWelcome li:not(.first):before {
    content: "";
    height: 24px;
    width: 1px;
    background: #ccc;
    position: absolute;
    left: -10px;
    top: -14px;
}

.sliderBase {
    width: 100%;
    height: 470px;
    background-image: url(../images/bg_full_slider.jpg);
    background-size: cover;
}

.sliderBase .sliderList {
    padding: 0 50px;
}

.sliderList,
.sliderItem {
    height: 100%;
}

.sliderItem {
    width: 100%;
    position: absolute;
    left: 100%;
}

.sliderItem.active {
    left: 50px;
}

.sliderBase .actionChange.leftArrow,
.actionList.leftArrow {
    left: 0;
}
.sliderBase .actionChange.rightArrow,
.actionList.rightArrow {
    right: 0;
}
.sliderBase .actionChange {
    font-size: 3rem;
    color: #fff;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 470px;
    width: 50px;
    z-index: 99;
}
.sliderBase .actionChange:hover {
    background: rgba(255, 255, 255, 0.3);
}

.slideItemImageCTA {
    position: absolute;
    width: 50%;
    top: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;
}

.slideItemImageCTA .slideItemImg {
    width: 100%;
}

.actionList,
.listBlocks *,
.actionChangeList li,
.actionChange,
.qtdAddCart * {
    outline: none;
    user-select: none;
}

.slideItemShortDesc {
    margin: 10px 0;
}

.slideItemTextCol {
    position: absolute;
    width: calc(90% - 550px);
    height: fit-content;
    right: 00px;
    top: 0;
    bottom: 0;
    margin: auto;
    max-width: 425px;
}

.slideItemTextCol li:before {
    content: "";
    width: 15px;
    height: 15px;
    background: url(../images/listStyle.png);
    display: inline-block;
    margin-right: 10px;
}

.slideItemImageCTA img:hover {
    transform: scale(1.2);
}
.slideItemImageCTA img {
    z-index: 1;
    position: relative;
    transition: 6s;
}

.slideItemTitle {
    font-size: 3rem;
    font-weight: bolder;
    line-height: 3rem;
}

.slideItemSubTitle {
    font-size: 1.7rem;
}

.sliderBase.sliderImage {
    height: 250px;
}
.sliderBase.onActionChangeList {
    margin-bottom: 40px;
}
.sliderBase.sliderImage .actionChange {
    line-height: 250px;
}
.sliderBase .actionChangeList {
    bottom: -50px;
    left: 0;
    width: 100%;
}
.sliderBase .actionChangeList li {
    width: 15px;
    height: 15px;
    background: #ccc;
    border-radius: 100%;
    display: inline-block;
    margin: 0 8px;
    cursor: pointer;
}

.sliderBase .actionChangeList li.active {
    background-color: #00618a;
}

.catalog-product-view main .offer div span {
    padding: 8px;
    color: #fff;
    border-radius: 8px;
    margin-right: 4px;
    font-size: 0.8rem;
}

.imageBox .offer {
    right: 5px;
    top: 5px;
    border-radius: 6px;
    padding: 5px;
    font-size: 0.8rem;
}
.imageBox .offer div {
    width: 100%;
}
.imageBox .offer div span {
    border-radius: 6px;
    padding: 5px;
    font-size: 0.8rem;
    margin-bottom: 4px;
    width: fit-content;
}

.freteBox {
    padding: 6px;
    border-radius: 6px;
}

.freteBox img {
    margin-right: 8px;
}

h3.titleProductList {
    font-size: 1.1rem;
    width: 90%;
    margin: 10px auto;
    text-align: center;
    text-transform: uppercase;
}

.headerMenu {
    border-top: 1px solid #e6e6e6;
    border-bottom: 1px solid #e6e6e6;
    background: #fff;
}

.headerMenu i.material-icons {
    line-height: 50px !important;
}

.headerMenu ul li {
    padding: 0 10px;
}

.headerMenu ul li a {
    height: 50px;
    line-height: 50px;
    padding: 0 5px;
    display: block;
}

.subMenuDropdown,
.subMenuDropdown * {
    transition: 0.4s;
}
.subMenuDropdown {
    z-index: 996;
    background: #fff;
    width: 100%;
}

.headerMenu .menuItem:hover {
    background: #0060af;
}
.headerMenu .menuItem:hover a {
    color: #fff !important;
}

ul.subMenuDropdown li {
    float: initial;
    border-bottom: 1px solid #ddd;
    position: relative;
    width: max-content;
    width: calc(100% + 2px);
    background: #fff;
}

.containDropdown {
    border-right: 1px solid #ddd;
    border-left: 1px solid #ddd;
    background: #fff;
    z-index: 996;
}
.containDropdown ul.subMenuDropdown {
    display: none;
    top: 50px;
    left: -1px;
}
.containDropdown:hover ul.subMenuDropdown {
    display: block;
}

ul.subMenuDropdown li:hover {
    background: #00618a;
}
ul.subMenuDropdown li:hover ul li a {
    color: initial !important;
}
ul.subMenuDropdown li:hover a {
    color: #fff !important;
}

ul.subMenuDropdown li:hover ul.subMenuDropright {
    display: block;
}

ul.subMenuDropright li:hover {
    background: #ddd;
}

li.subMultItem:hover:after {
    color: #fff;
}

li.subMultItem:after {
    content: "â–º";
    width: 10px;
    height: 50px;
    position: absolute;
    color: #00618a;
    right: 10px;
    top: 0px;
    line-height: 50px;
}

ul.subMenuDropright {
    width: fit-content;
    background: #fff;
    left: 100%;
    top: 0;
    min-width: 150px;
    max-width: 350px;
    display: none;
}

ul.subMenuDropright a {
    color: #424242;
}

.overlayDropDown {
    width: 100%;
    height: 100%;
    background: rgba(26, 67, 142, 0.5);
    z-index: 995;
    display: none;
}

.itemListaCategorias {
    background: #ececec;
    width: calc(calc(100% - 70px) / 7);
    margin: 0 5px;
    height: 180px;
    text-align: center;
    border-radius: 8px;
    margin-bottom: 20px;
}

.itemListaCategorias a span {
    margin-top: 8px;
}
.itemListaCategorias a {
    color: #083c88;
}
.itemListaCategorias img {
    width: 90%;
    margin: 0 auto;
}

.contentListCategorias {
    height: 190px;
    padding: 5px 0;
    overflow: hidden;
    width: calc(100% - 100px);
    margin-top: 20px;
}

.actionList {
    font-size: 2.4rem !important;
    height: 80px;
    line-height: 80px !important;
    position: absolute;
    top: 55px;
    color: #1277da;
    border: 2px solid;
}

.bannerFullProductInfo {
    background: url(../images/bg_full_slider.jpg) no-repeat center center;
    height: 300px;
    margin: 50px 0 10px 0;
    border-radius: 25px;
}

.bannerFullProductInfo .colIml img {
    max-width: 90%;
    bottom: -298px;
}
.bannerFullProductInfo .colTxt {
    padding: 0 calc(15px + 0.75rem);
}
.bannerFullProductInfo.imgRight .colTxt {
    float: left !important;
}
.bannerFullProductInfo.imgLeft .colTxt {
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
}
a.bannerFullBtnComprar.u-case.white.z-depth-2:hover {
    transform: scale(1.06);
}

.bannerFullProductInfo.imgLeft .colTxt .bannerFullBtnComprar {
    width: fit-content;
    transition: 0.3s;
}
.block.newsletter .content {
    height: 150px;
}

.block.newsletter .content form {
    height: 100%;
}
.bannerFullProductInfo.imgRight .colIml {
    float: right !important;
}

.bannerFullProductInfo p.bannerFullTitle {
    font-size: 3rem;
    font-weight: bolder;
    line-height: 2.8rem;
    /*color: #182748;*/
}

.bannerFullBtnComprar {
    color: #182748;
    border-radius: 40px;
    padding: 15px 50px;
    margin-top: 40px;
    float: right;
}

.header.content .minicart {
    display: none !important;
}

.header.content .minicart-wrapper {
    display: none;
}

.block.newsletter {
    background: #005eac;
    padding: 20px 0 10px 0;
}

.block.newsletter .content form {
    display: inline-flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.block.newsletter input {
    background: #fff;
    border-radius: 7px;
    padding: 0 10px;
    width: calc(100% - 20px);
    margin: 0;
}

.block.newsletter .content form .field,
.block.newsletter .content form .actions {
    width: 33%;
    min-width: 320px;
    max-width: 400px;
}

.block.newsletter .content form .actions button {
    width: 100%;
    height: 3rem;
    border-radius: 5px;
    height: 46px;
    border: 0;
    color: #fff;
    background: #000;
}

.block.newsletter input::placeholder {
    color: #005eac;
}

.block.newsletter .title {
    display: block !important;
}

.block.newsletter .content form .field span {
    color: #fff;
}

.footerNewsletter input {
    margin: 0 !important;
    border: 1px solid #b4b4b4 !important;
    border-radius: 8px !important;
    padding: 0 10px !important;
    width: calc(100% - 20px) !important;
}

.footerNewsletter {
    border-top: 1px solid #b4b4b4;
    border-bottom: 1px solid #b4b4b4;
    margin-top: 40px;
    background: rgb(0, 96, 175);
    background: linear-gradient(
            90deg,
            rgba(0, 96, 175, 1) 0%,
            rgba(11, 61, 102, 1) 85%
    );
}

.footerList {
    margin-bottom: 20px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #363636;
}
.footerList ul a {
    color: #9e9e9e;
}

.footerNewsletter span.txtNewsletter {
    font-size: 0.8rem;
    font-weight: bold;
    font-style: italic;
    margin-left: 8px;
    margin-top: 6px;
}

.footerNewsletter .imgNewsletter {
    margin-top: 5px;
}

.footerNewsletter .btnSendNewsletter {
    background: #00618a;
    width: 100%;
    height: 47px;
    border-radius: 8px;
}
.footerMidias li {
    margin-right: calc(calc(100% - 158px) / 5);
}

/*Categoria*/
.breadcrumbs ul.items {
    display: inline-block;
    margin: 0;
}
.breadcrumbs {
    height: 28px;
    margin-bottom: 5px !important;
}
.breadcrumbs li {
    float: left;
}
.breadcrumbs li:not(:first-child) {
    margin-left: 10px;
}
.breadcrumbs li:not(:first-child) a {
    margin-left: 10px;
}
.breadcrumbs li:not(:first-child):before {
    content: "";
    background-image: url(../images/arrow-breadcrumb.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: left center;
    width: 10px;
    height: 10px;
    display: inline-block;
}

.breadcrumbs {
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}

.side-nav {
    transition: 0.5s linear;
}

.overlaySide {
    position: fixed;
    transform: translateX(-105%);
    background: rgba(0, 0, 0, 0.7);
    transition: 0.7s linear;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100%;
    z-index: 998;
}

.sidebarTitle,
.catTitle {
    padding: 13px 0 10px;
    border-bottom: 1px solid #e4e3e3;
}
.sidebarTitle {
    font-size: 1.3rem;
    width: 100%;
}

.catTitle {
    font-size: 25px;
    font-weight: 400;
    margin: 2px 0 0;
}

ul.sidebarCategorias li {
    display: block;
    padding: 8px 0;
    text-transform: capitalize;
    font-variant: small-caps;
}

.catListProduct {
    display: table !important;
    width: 100%;
    margin-top: 20px;
}

.titleProductList {
    font-size: 1rem !important;
    text-align: center;
    margin: 0.5rem !important;
}

.itemListBox {
    padding: 1rem 0.75rem !important;
    margin-top: 1rem;
    transition: 0.4s;
    display: inline-table;
}
.itemListBox:hover {
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 3px 1px -2px rgba(0, 0, 0, 0.12), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.imageBox .offer {
    top: 0;
    right: 0;
}

.boxListPreco .olderPrice .priceValue {
    text-decoration: line-through;
}

.boxListPreco .normalPrice {
    font-size: 18px;
    margin-top: 24px;
}

.naoLogado {
    /* filter: blur(3px);
       -webkit-filter: blur(3px);
       -ms-filter: blur(3px);
       filter: url("data:image/svg+xml;utf9,<svg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'><filter%20id='blur'><feGaussianBlur%20stdDeviation='3'%20/></filter></svg>#blur");
       filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='3'); */
}

ul.productListImage li img {
    display: block;
}
/*Responsividade*/

@media (max-width: 600px) {
    .topWelcome {
        padding: 0;
    }

    .catalog-product-view main .col.s12.m6.l7:nth-child(1) {
        padding: 0;
    }
    .productImageArea {
        padding: 5px;
    }

    .productListImage {
        margin: 5px 0 0 0.6rem !important;
    }

    ul.productListImage li {
        width: calc(20% - 4px);
        float: left;
        margin: 0 2px;
    }

    .content-site,
    .content-site.row {
        width: 100%;
    }

    .topBarMob {
        box-shadow: 0 3px 5px #ddd;
        height: 66px;
        padding: 3px 0;
    }

    .topBarMob .material-icons {
        font-size: 2.5rem;
        line-height: 60px;
        width: 50px;
        text-align: center;
    }
    .topBarMob .material-icons.borderRight {
        border-right: 1px solid #f6f6f6;
    }
    .topBarMob .material-icons.borderLeft {
        border-left: 1px solid #f6f6f6;
    }

    input.searchMobile {
        width: calc(100% - 20px) !important;
        padding: 0 10px !important;
    }

    .itemListaCategorias {
        width: calc(calc(100% - 20px) / 2);
    }

    .slideItemImageCTA {
        width: 90%;
        left: 5%;
        height: fit-content;
        top: 30px;
        margin: inherit;
    }

    .slideItemImageCTA img {
        max-width: 100%;
    }

    .slideItemImageCTA:before {
        width: 100%;
        height: 210px;
        left: 0;
        bottom: 30px;
    }

    .slideItemTextCol {
        width: 95%;
        right: 2.5%;
        top: 240px;
        margin: inherit;
        text-align: center;
        z-index: 3;
    }

    .slideItemTitle {
        font-size: 2rem;
        line-height: 2rem;
    }

    .slideItemSubTitle {
        font-size: 1.3rem;
    }

    .sliderItem.active {
        left: 0;
    }
    .slideItemList ul {
        margin: 0;
    }

    .bannerFullProductInfo .colIml img {
        bottom: -300px;
    }

    .bannerFullProductInfo {
        border-radius: 0;
        margin-bottom: 0;
    }

    .colTxt {
        margin-top: 0px;
    }

    .bannerFullProductInfo p.bannerFullTitle {
        font-size: 2rem;
        line-height: 1.8rem;
        text-align: right;
    }

    .bannerFullBtnComprar {
        display: block;
        text-align: center;
    }

    .footerNewsletter .imgNewsletter {
        float: none !important;
        display: inline-block;
    }

    .footerCopyright {
        position: relative;
        padding: 0;
        display: block;
        line-height: 60px;
        font-size: 0.8rem;
    }

    .row.space {
        margin: 0;
    }

    .colImgNewsletter {
        text-align: center;
    }

    a.catTitleList {
        display: block;
        text-align: center;
        border: 2px solid #0d47a1;
        padding: 5px;
    }

    .footerNewsletter input {
        margin-bottom: 7px !important;
    }
}

@media (min-width: 990px) {
    .sideCart {
        margin-top: 50px;
    }

    .catalog-product-view div#description {
        max-width: unset;
    }
}
@media (min-width: 601px) and (max-width: 990px) {
    .bannerFullProductInfo {
        border-radius: 8px;
        margin: 0;
        height: 230px;
    }

    .bannerFullProductInfo .colIml img {
        bottom: -230px;
    }

    .itemListaCategorias {
        width: calc(calc(100% - 50px) / 5);
    }

    .space.row {
        margin: 0;
    }

    .slideItemImageCTA {
        width: 45%;
        height: fit-content;
    }

    .slideItemImageCTA img {
        max-width: 100%;
    }
    .slideItemImageCTA:before {
        width: 90%;
        height: 280px;
        left: 5px;
        bottom: 38px;
    }

    .slideItemTextCol {
        width: calc(50% - 50px);
    }

    .topBarMob i.material-icons {
        font-size: 2.8rem !important;
        line-height: 66px;
        margin: 0 5px;
    }
}

.catalog-product-view main {
    margin-top: 5px;
}

.catalog-product-view main .boxListPreco {
    font-size: 18px;
}
.catalog-product-view main .boxListPreco .priceItem {
    font-size: 28px;
}

.productImageArea {
    width: 100%;
    border: 1px solid #b3d5f7;
    padding: 3px;
}

ul.productListImage li {
    border: 1px solid #b3d5f7;
    margin-bottom: 4px;
}

.freteCalc {
    max-width: 310px;
    margin-top: 10px !important;
}

.freteCalc .material-icons {
    margin-right: 14px;
    line-height: 47px;
}

.freteCalc .btn {
    padding: 0;
    width: 47px;
    height: 47px;
}
/*
.freteCalc small {
    padding-left: 37px;
}*/

.addToCart {
    margin-right: 20px;
}

.freteCalc input[type="text"] {
    width: calc(100% - 122px);
    border: 1px solid #ddd;
    padding: 0 15px;
    font-size: 1.7rem;
    color: #575757;
    margin-bottom: 8px !important;
}

.qtdAddCart {
    width: 90px;
}

.qtdAddCart .material-icons {
    margin: 0;
    line-height: 46px;
    cursor: pointer;
}

.qtdAddCart input[type="text"] {
    width: calc(100% - 50px) !important;
    border: 1px solid #ddd;
    font-size: 1rem;
    text-align: center;
}

.zoom {
    display: inline-block;
    position: relative;
}

/* magnifying glass icon */
.zoom:after {
    content: "";
    display: block;
    width: 33px;
    height: 33px;
    position: absolute;
    top: 0;
    right: 0;
    background: url(icon.png);
}

.zoom img {
    display: block;
}

.zoom img::selection {
    background-color: transparent;
}

.imgProductCart {
    margin-right: 5px;
    border: 1px solid #99baa3;
}

.justifyFlex {
    display: flex;
    justify-content: space-between;
}

.freteBoxSelect {
    max-width: 500px;
}

.freteBoxSelect label {
    height: fit-content !important;
    color: #333 !important;
}
.freteBoxSelect label:before,
.freteBoxSelect label:after {
    bottom: 0 !important;
    margin: auto 4px !important;
}

/**/
.productStars i.material-icons {
    font-size: 21px;
}

.productTitle h2 {
    font-size: 1.1rem;
    margin: 8px 0;
}
.col.productListBox:hover .boxContentWhite {
    box-shadow: 0px 0px 5px 2px #bdbdbd;
}
.col.productListBox .boxContentWhite {
    box-shadow: 0px 0px 3px 1px #e0e0e0;
    transition: 0.6s;
}
.col.productListBox {
    padding: 0 0.3rem;
}

.productListBox span.product-image-wrapper {
    padding-bottom: 100%;
    display: block;
    position: relative;
    width: 100%;
}
.productListBox span.product-image-wrapper img {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    right: 0;
    top: 0;
    margin: auto;
}

.productListBox .productCta {
    padding: 5px 0;
    opacity: 0;
    transition: 0.3s;
}
.productListBox:hover .productCta {
    opacity: 1;
}

.productListBox .specialPrice,
.productListBox .normalPrice {
    font-size: 1.1rem;
}
.productListBox .specialPrice .price,
.productListBox .normalPrice .price {
    font-size: 1.6rem;
}

.sectionTitle {
    font-size: 1.6rem;
    margin-bottom: 8px;
}

input:not([type]):focus:not([readonly]),
input[type="text"]:not(.browser-default):focus:not([readonly]),
input[type="password"]:not(.browser-default):focus:not([readonly]),
input[type="email"]:not(.browser-default):focus:not([readonly]),
input[type="url"]:not(.browser-default):focus:not([readonly]),
input[type="time"]:not(.browser-default):focus:not([readonly]),
input[type="date"]:not(.browser-default):focus:not([readonly]),
input[type="datetime"]:not(.browser-default):focus:not([readonly]),
input[type="datetime-local"]:not(.browser-default):focus:not([readonly]),
input[type="tel"]:not(.browser-default):focus:not([readonly]),
input[type="number"]:not(.browser-default):focus:not([readonly]),
input[type="search"]:not(.browser-default):focus:not([readonly]),
textarea.materialize-textarea:focus:not([readonly]) {
    border-color: #0060af !important;
    box-shadow: none !important;
}

input:not([type]):focus:not([readonly]) + label,
input[type="text"]:not(.browser-default):focus:not([readonly]) + label,
input[type="password"]:not(.browser-default):focus:not([readonly]) + label,
input[type="email"]:not(.browser-default):focus:not([readonly]) + label,
input[type="url"]:not(.browser-default):focus:not([readonly]) + label,
input[type="time"]:not(.browser-default):focus:not([readonly]) + label,
input[type="date"]:not(.browser-default):focus:not([readonly]) + label,
input[type="datetime"]:not(.browser-default):focus:not([readonly]) + label,
input[type="datetime-local"]:not(.browser-default):focus:not([readonly])
+ label,
input[type="tel"]:not(.browser-default):focus:not([readonly]) + label,
input[type="number"]:not(.browser-default):focus:not([readonly]) + label,
input[type="search"]:not(.browser-default):focus:not([readonly]) + label,
textarea.materialize-textarea:focus:not([readonly]) + label {
    color: #0060af !important;
}

.section-item-title.nav-sections-item-title {
    display: none;
}

ul.menuHorizontal li,
ul.menuHorizontal li a {
    color: #333;
}

.headerMenu li.level0.category-item.level-top:hover {
    background: #0060af;
    color: #fff;
}

.headerMenu li.level0.category-item.level-top:hover a {
    color: #fff;
}

body:not(.cms-home) main {
    padding: 0 0.75rem;
}
body:not(.cms-home) .column.main {
    display: inline-block;
    width: 100%;
}

body:not(.cms-home) .product.media,
body:not(.cms-home) .product-info-main {
    float: left;
}

body:not(.cms-home) .product.media {
    width: 60%;
}

body:not(.cms-home) .product-info-main {
    width: 35%;
    margin-left: 4%;
}

body:not(.cms-home) .product.info.detailed {
    display: block;
    width: 100%;
}

body:not(.cms-home) .product.info.detailed:before {
    content: "";
    display: block;
    clear: both;
}

.main-image img {
    max-width: 100%;
    border-radius: 8px;
}

#gallery_images a {
    display: block;
    padding-top: 100%;
    position: relative;
    background: #fff;
    border: 1px solid #b3d5f7;
    margin-bottom: 4px;
}

#gallery_images img {
    display: block;
    width: 100%;
    object-fit: scale-down;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
}

.main-image img {
    border: 1px solid #b3d5f7;
}

.page-title-wrapper.product {
    margin-bottom: 10px;
}

.titleBar .title a {
    color: #333;
    padding: 10px;
    background: #ddd;
    margin-right: 5px;
    font-weight: bold;
    font-size: 1.2rem;
    outline: none;
}

.titleBar .title[aria-expanded="true"] a {
    border: 2px solid #0060af;
    color: #0060af;
}

.data.item.content#additional caption.table-caption {
    text-align: left;
    padding: 0 0.75rem;
    margin-bottom: 10px;
}

body.page-layout-2columns-left .column.main {
    width: 70%;
    float: right;
}

body.page-layout-2columns-left .sidebar-main {
    float: left;
    width: 28%;
}

.sidebar-main .filter-options-content {
    display: block !important;
}

.sidebar-main [data-role="title"] {
    outline: none;
    pointer-events: none;
}

.list-filter-check [data-param="checked"] {
    display: none;
}
.list-filter-check:hover [data-param="unchecked"] {
    display: none;
}
.list-filter-check:hover [data-param="checked"] {
    display: block;
}

.control.review-control-vote [type="radio"]:checked + label .material-icons {
    color: #ffbc00;
}

div#product-review-table label {
    display: block;
    padding: 0;
}

div#product-review-table label:before,
div#product-review-table label:after {
    display: none;
}

div#product-review-table label:hover i.material-icons {
    color: #ffbc00;
}

.widget-grid .reviews-actions {
    display: none;
}

.block-minicart {
    background: #fff;
    border: 1px solid #0060af;
    padding: 10px;
}

.block-minicart .block-title {
    background: #0060af;
    padding: 5px;
    color: #fff;
    text-align: center;
}

.block-minicart .block-title .qty:after {
    content: "produto(s)";
    margin-left: 5px;
}

.block-minicart .actions button {
    width: 90%;
    display: block;
    margin: 0 auto;
    background: #4caf50;
    height: 39px;
    border: 0;
    color: #fff;
    border-radius: 14px;
    line-height: 10px !important;
}

.block-minicart strong.subtitle {
    display: none;
}

.block-minicart ol#mini-cart {
    list-style: none;
    margin: 15px 0 0 0;
    padding: 0;
}

.block-minicart li .product {
    display: block;
}

.block-minicart li .product:after {
    content: "";
    display: block;
    clear: both;
}

.block-minicart li .product a.product-item-photo {
    float: left;
    width: 75px;
}

.block-minicart li .product .product.options {
    display: none;
}

.block-minicart li .product .product.actions {
    display: none;
}

.block-minicart li .product .product-item-details {
    float: right;
    width: calc(100% - 80px);
}

.block-minicart li .product .price-container {
    float: right;
    width: 50%;
}

.block-minicart li .product .details-qty.qty {
    float: left;
    width: 50%;
}

.block-minicart li .product .details-qty.qty label {
    display: inline-block;
    float: none;
    position: initial;
}

input#cart-item-41-qty {
}

.block-minicart li .product .details-qty.qty input.item-qty {
    display: inline-block;
    width: 20px;
    margin-left: 15px;
    height: auto;
    border: 0;
    font-size: 1.2rem !important;
}

.block-minicart li.item.product.product-item {
    border-bottom: 1px solid #ddd;
}

.block-minicart .items-total {
    display: none;
}

a.action.showcart.active .qty {
    display: none;
}

.block-minicart a.action.viewcart {
    display: block;
    width: 50%;
    margin: 8px auto 0 auto;
    background: #ff8f00;
    color: #fff;
    text-align: center;
    border-radius: 5px;
    padding: 5px;
}

.minicart-wrapper {
    position: absolute;
    right: 0px;
    top: 42px;
    z-index: 999;
}

header.page-header {
    position: relative;
}

/*.minicart-wrapper.cartFixo {
    position: fixed;
    top: 35px;
}*/

@media (min-width: 900px) {
    .headerMenu.hide-on-med-and-down {
        display: block;
        font-size: 14px !important;
    }
}

.minicart-wrapper .action.showcart .counter.qty {
    background: #004fcd;
}

ul.menuHorizontal li {
    margin: 0;
}

ul.menuHorizontal li.level-top a {
    font-weight: 600;
}

ul.menuHorizontal:not(.headerWelcome) {
    display: flex;
    justify-content: space-between;
    padding: 0;
}

ul.menuHorizontal:after {
    display: none;
}

ul.menuHorizontal li a:hover {
    text-decoration: none;
}

.searchBox button i.material-icons {
    margin-top: -7px;
}

ul.menuHorizontal.headerWelcome {
    line-height: 27px;
    font-size: 14px;
    padding-left: 30px;
}

ul.menuHorizontal.headerWelcome i.material-icons.left {
    line-height: 54px;
}

ul.menuHorizontal.headerWelcome li:not(.first):before {
    top: 14px;
}

.minicart-wrapper .action.showcart:before,
.minicart-wrapper .action.showcart.active:before {
    font-size: 24px;
}

.minicart-wrapper .action.showcart.active:before,
.minicart-wrapper:hover .action.showcart:before {
    color: #004fcd !important;
}

.cart-totals .grand .amount,
.opc-block-summary .table-totals .grand .amount {
    font-size: 0.9rem !important;
}

.paypal-review .table-paypal-review-items .col.price .price-including-tax,
.paypal-review .table-paypal-review-items .col.price .price-excluding-tax,
.paypal-review .table-paypal-review-items .col.subtotal .price-including-tax,
.paypal-review .table-paypal-review-items .col.subtotal .price-excluding-tax,
.cart.table-wrapper .col.price .price-including-tax,
.cart.table-wrapper .col.price .price-excluding-tax,
.cart.table-wrapper .col.subtotal .price-including-tax,
.cart.table-wrapper .col.subtotal .price-excluding-tax,
.cart.table-wrapper .col.msrp .price-including-tax,
.cart.table-wrapper .col.msrp .price-excluding-tax,
.order-details-items .col.price .price-including-tax,
.order-details-items .col.price .price-excluding-tax,
.order-details-items .col.subtotal .price-including-tax,
.order-details-items .col.subtotal .price-excluding-tax {
    font-size: 0.9rem !important;
}

.cart-summary .block .title strong {
    font-size: 0.9rem !important;
}

.cart-totals .grand .mark,
.opc-block-summary .table-totals .grand .mark {
    font-size: 0.9rem !important;
}
table .col {
    float: none !important;
}

.price-container .price {
    font-size: 0.9rem !important;
}

.cart.table-wrapper .product-item-name {
    font-size: 1.1rem !important;
}

.block.newsletter .field .control:before {
    top: 5px;
    left: 5px;
}

.control {
}

form#newsletter-validate-detail .control {
    position: relative;
}

.block.newsletter .field .control input {
    padding-left: 40px;
    width: calc(100% - 50px);
}

.abs-discount-block-desktop .block > .title strong,
.paypal-review-discount .block > .title strong,
.cart-discount .block > .title strong {
    font-size: 1rem !important;
}

.action.primary {
    font-size: 1rem !important;
}

.block.newsletter {
    width: 100% !important;
    margin: 0;
    padding: 32px 0 0 0;
    max-width: 100% !important;
    background-position: 0px -102px !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background: #2196f3;
}

body.checkout-index-index.page-layout-checkout input {
    margin-bottom: 2px;
    height: 30px;
}

body.checkout-index-index.page-layout-checkout label {
    margin-bottom: 0 !important;
}

/* JF-14: .opc-estimated-wrapper/.methods-shipping (Luma) sangram -15px fixos assumindo
   15px de padding do .page-main; o layout do tema deixa esse respiro em ~14,4px, sobrando
   ~1px de overflow horizontal no mobile. Sangria por vw independe do padding do pai.
   #co-shipping-form (form nativa de endereco do checkout) tem a mesma sangria -15px/
   padding 15px e o mesmo resto de ~0,6px por lado — mesma correcao. */
@media only screen and (max-width: 768px) {
    body.checkout-index-index .opc-estimated-wrapper,
    body.checkout-index-index .methods-shipping,
    body.checkout-index-index #co-shipping-form {
        width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

.opc-progress-bar-item > span {
    font-size: 1rem;
}

.opc-progress-bar-item > span:after {
    font-size: 1.1rem;
}

body.checkout-index-index.page-layout-checkout .opc-block-summary {
    background: #fff;
}

body.checkout-index-index.page-layout-checkout input.radio {
    position: initial;
    opacity: 1;
    pointer-events: all;
    cursor: pointer;
}

body.checkout-index-index.page-layout-checkout table .col {
    float: none !important;
}

.table-checkout-shipping-method {
    width: 100%;
}

body.cms-home.cms-index-index #maincontent {
    max-width: 100%;
    padding: 0;
    margin: 0;
}

body.cms-home.cms-index-index .sections.nav-sections {
    margin-bottom: 0;
}

.products-grid .product-item-info:hover,
.products-grid .product-item-info.active {
    margin: 0 !important;
    border: none !important;
    padding: 0 0.75rem;
}

.products-grid .product-item-inner {
    box-shadow: none;
    border: none;
    background: transparent;
    padding: 0;
    text-align: center;
    transition: 0.5s linear;
}

.product.actions.product-item-actions {
    margin: 0;
}

.catListProduct.products.wrapper.grid.products-grid
.product.actions.product-item-actions
.actions-primary {
    display: block;
}

.page-products .products-grid .product-item-inner:before {
    display: none;
}

ol.product-items {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 24px;
}
a.product-item-link {
    color: #000;
    text-align: center;
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    color: #000000;
    line-height: 150%; /* 24px */
}

ol.product-items li {
    position: relative;
    padding: 10px 10px 80px 10px !important;
    background: #fff;
    width: calc(25% - 24px) !important;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.04),
    0px 2px 6px 0px rgba(0, 0, 0, 0.03), 0px 2px 0px 0px rgba(0, 0, 0, 0.01);
    transition: 0.5s linear;
}

li.product-item .product-item-actions {
    position: absolute;
    bottom: 5px;
    width: calc(100% - 50px);
    margin: auto;
    left: 0;
    right: 0;
    bottom: 32px;
}

li.product-item .product-item-actions .actions-secondary {
    display: none;
}

li.product-item .product-item-actions .tocart {
    width: 100%;
    border-radius: 33px;
    background: var(--colors-blue-03, #0050c8);
    display: flex;
    height: 49px;
    padding: 12px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    color: var(--colors-neutrals, #fff);
    text-align: center;
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

li.product-item .product-item-actions .actions-primary {
    display: block;
}
ol#wishlist-sidebar {
    display: none;
}

ol.product-items li .product-item-info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

ol.product-items li .productStars {
    position: absolute;
    bottom: 58px;
    left: 10px;
}

.products-grid .product-item-info:hover,
.products-grid .product-item-info.active {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    position: unset !important;
}

ol.product-items li:hover {
    transform: translateY(-10px) scale(1.07);
    z-index: 9;
    box-shadow: 0px 0px 15px 15px #00000038;
}

.block.widget.block-products-list.grid .block-title strong {
    font-size: 2rem;
}

.productListContent {
    display: flex;
    flex-flow: wrap;
    gap: 10px;
}

.productListBox {
    width: calc(calc(100% / 3) - 10px);
    position: relative;
    justify-content: center;
    justify-items: center;
    display: flex;
    background: #fff;
    border-radius: 4px 4px;
    padding: 10px;
    transition: 0.5s linear;
    box-shadow: -1px -1px 2px 1px #ececec;
}

.productImageBox img {
    display: block;
    margin: 0 auto;
    /* width: 100%; */
}

.product-item-info.col.s12.white.boxContentWhite {
    padding: 0;
}

.productImageBox.relative {
    display: flex;
    justify-content: center;
}

.productListBox .product-item-inner {
    top: 56%;
    left: 0;
    transition: 0.5s linear;
    /* background: transparent; */
}

.productListBox:hover {
    box-shadow: 0px 3px 0px 4px #2d4571;
    transform: translateY(-10px);
}

.customer-account-create .fieldset > .field,
.customer-account-create .fieldset > .fields > .field {
    margin-bottom: 0 !important;
    display: flex;
    width: 100%;
    flex-direction: column;
}

.customer-account-create input[type="text"],
.customer-account-create input[type="email"],
.customer-account-create input[type="password"] {
    margin: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    height: 25px;
    padding: 5px;
    width: calc(100% - 10px);
    background: #fff;
}

.customer-account-create fieldset.fieldset {
    display: flex;
    /* flex-direction: column; */
    gap: 10px;
    flex-wrap: wrap;
    place-content: flex-start;
}

.customer-account-create fieldset.fieldset br {
    display: none;
}

.customer-account-create .field.field-name-firstname,
.customer-account-create .field.field-name-lastname,
.customer-account-create .field.password,
.customer-account-create .field.confirmation,
.customer-account-create .field.ca_cro_txt,
.customer-account-create .field[class*="ca_cnpj"],
.customer-account-create .field.ca_telefone,
.customer-account-create .field.ca_telefone_2,
.customer-account-create .field.ca_cof,
.customer-account-create .field.ca_zfr_especialidade,
.customer-account-create .field.ca_ca_especialidade,
.customer-account-create .field.ca_estado_de_registro_cro,
.customer-account-create .field.ca_ca_estado_cro,
.customer-account-create .field.company,
.customer-account-create .field.telephone,
.customer-account-create .fieldset.address .field.street,
.customer-account-create .field.zip,
.customer-account-create .fieldset.address .field.required:not(.region) {
    width: calc(50% - 5px);
}

.customer-account-create legend {
    font-size: 15px;
}

.customer-account-create .fieldset > .legend span {
    font-size: 15px !important;
    font-weight: bold;
}

.customer-account-create .fieldset > .legend {
    color: #636466;
    margin-top: 10px;
    padding: 0;
    height: 40px;
    margin-bottom: 10px;
    font-weight: bold;
    border-color: #ddd;
}

.customer-account-create .fieldset > .legend span:before {
    content: ">";
    color: #0060af;
    margin-right: 8px;
    font-size: 18px;
}

.customer-account-create form {
    /* width: 100% !important; */
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* gap: 20px; */
    margin: 0 auto;
}

.customer-account-create fieldset {
    /* width: calc(50% - 10px); */
}

.customer-account-create .field.choice {
    margin: 0;
    width: 40% !important;
}

.form-create-account .fieldset.create.account:after {
    font-size: 15px;
    margin: 0;
}

.customer-account-create .catTitle {
    text-align: center;
    border: none;
}

div#password-error.mage-error[generated] {
    font-size: 12px;
    /* position: relative; */
    top: -50px;
    left: 0;
    background: #ef0808;
    color: #fff;
    padding: 8px;
}

div#password-error.mage-error[generated]:before {
    content: "";
    width: 0;
    height: 0;
    border-top: 14px solid #ef0808;
    border-bottom: 14px solid transparent;
    border-left: 14px solid transparent;
    border-right: 14px solid transparent;
    pointer-events: none;
    position: absolute; /* bottom: -26px; */
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2;
    display: none;
}

body.catalog-product-view {
    background: #fff;
}

.breadcrumbs li::after {
    display: none !important;
}

body.catalog-product-view .sections.nav-sections {
    margin-bottom: 10px;
}

body.catalog-product-view .breadcrumbs * {
    font-size: 12px;
}

body.catalog-product-view h1.catTitle {
    border: none;
    padding: 0;
    margin-bottom: 15px;
}

.row.titleBar {
    width: 100%;
}

body.catalog-product-view .product.data.items {
    display: flex;
    width: 100%;
}

body.catalog-product-view div#description {
    padding: 20px !important;
}

body.catalog-product-view div#additional {
    width: 100%;
}

@media (max-width: 993px) {
    .sections.nav-sections.menuFixo {
        display: none !important;
    }

    .password-strength-meter {
        font-size: 11px !important;
    }

    ol.product-items li {
        width: calc(50% - 10px) !important;
    }

    ol.product-items li .product-item-info span.product-image-container {
        width: 100% !important;
        display: block;
    }

    ol.product-items li .product-item-info img.product-image-photo {
        /* position: initial; */
    }

    ol.product-items li .product-item-info a.product-item-photo {
        display: block;
        width: 100%;
    }

    ol.product-items li .product-item-info span.product-image-wrapper {
    }

    .products-grid.grid .product-item {
        margin: 0 !important;
    }

    .bannerFullProductInfo {
        margin-top: 15px;
    }

    .bannerFullProductInfo .colIml {
        display: none;
    }

    .bannerFullProductInfo.imgLeft .colTxt {
        width: 100%;
        align-items: center;
        text-align: center;
    }

    .minicart-wrapper {
        display: none;
    }

    .page-header {
        margin-bottom: 0;
    }

    div#gallery_images {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
    }

    div#gallery_images a {
        display: block;
        padding: 5px;
    }

    div#gallery_images img {
        display: block;
        height: auto;
        position: inherit;
        width: 80px;
        height: 80px;
        object-fit: cover;
    }

    .main-image {
        padding: 0 !important;
    }

    .catalog-product-view .page-main {
        padding: 0 10px;
    }

    body:not(.cms-home) .product-info-main {
        width: 100%;
        margin: 0;
    }

    body.catalog-product-view .product.data.items {
        flex-direction: column;
        margin: 0;
        margin-top: 15px;
    }

    .row.titleBar {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        justify-content: center;
        margin-bottom: 0;
    }

    .row.titleBar .data.item {
        height: 50px;
        width: calc(33% - 5px);
        justify-content: center;
        justify-items: center;
        align-items: center;
        float: none !important;
        align-content: center;
    }

    .row.titleBar .data.item a {
        background: none;
        font-size: 12px;
        display: flex !important;
        height: 50px;
        justify-content: center;
        align-items: center;
        background: #ddd;
    }

    .row.titleBar .data.item a::after {
        display: none !important;
    }

    body.catalog-product-view div#description {
        padding: 0px 10px !important;
        max-width: unset;
    }

    .block.newsletter form {
        display: flex;
        flex-direction: column;
    }

    .footerPage form .col.l12 {
        width: 100%;
    }

    .section-item-title.nav-sections-item-title.active {
        background-color: #dd4c00;
    }
    .page-products .products-grid .product-item {
        height: fit-content;
        width: 96% !important;
    }

    .nav-sections-item-title {
        background: #ff6f24;
        border: none;
    }
    .nav-open .nav-toggle:after {
        background: rgb(0 0 0 / 33%);
    }
    .section-item-title.nav-sections-item-title.active a {
        color: white !important;
    }
    .page-with-filter .products-grid .product-item {
        width: 45%;
    }

    #block-discount {
        text-align: -webkit-center;
    }
    #block-discount .title {
        text-align: center;
        width: 62%;
        border: 1px solid #ccc;
        background-color: #eee;
        margin-bottom: 5px;
    }
    strong#block-discount-heading {
        color: black;
        text-transform: uppercase;
    }
    .panel.wrapper {
        display: none !important;
    }
    .listTop {
        display: none !important;
    }
    .sliderComponents ul {
        display: none;
    }
    .block.widget.block-products-list.grid {
        text-align: -webkit-center;
    }
    .scrollingItens .block-title strong:after {
        content: none;
    }

    .slider .controlador {
        display: none;
    }

    .block-search .control {
        display: none;
    }

    .header.content .logo {
        left: 10%;
    }
    .header.content {
        padding-top: 9px !important;
    }
    .block-search .label {
        float: left;
        margin-left: 12%;
    }
    .minicart-wrapper {
        margin-top: 4px;
        left: -12px;
    }
    .scrollingItens .block-title:before {
        width: 0;
    }
    .controlSliderProduct {
        display: none;
    }
    .nav-toggle {
        left: 25px;
        top: 15px;
    }
    .slider {
        top: -20px;
    }
    .gridBlock {
        display: grid;
        grid-template-columns: 40% 40%;
    }
    .grid-img-block {
        margin-top: -50px;
        padding: 0px 10% 0px 10%;
    }
    .scrollingItens .products-grid.grid .product-items {
        grid-template-columns: 50% 50%;
    }
    .scrollingItens .block-title strong {
        margin-left: 0px;
    }
    .scrollingItens .block-title strong:after {
        margin-left: 10%;
        margin-right: 10%;
        left: auto !important;
    }

    .scrollingItens .block-title {
        text-align: center;
        background: black;
        width: 90%;
        border-radius: 5px;
    }
    .block.newsletter .field {
        width: 100%;
        margin-bottom: 20px;
        position: relative;
    }
    .nav-sections,
    .nav-sections .navigation {
        background: #ff5b06 !important;
    }

    .footer-container-custom.content-site.centered.gridBlock .item:nth-child(4) {
        text-align: center;
    }
    .footer-container-custom.content-site.centered.gridBlock .item {
        padding-top: 14px;
    }
    .login-container .block.block-customer-login {
        float: none !important;
        width: 87% !important;
    }
    .minicart-wrapper .block-minicart {
        width: calc(100vw - 22px);
    }

    .catalog-product-view .page-main {
        padding: 0 0.75rem;
    }

    .block.newsletter .content-site.centered {
        width: 90%;
    }
    .footer-container-custom.content-site.centered.gridBlock
    .item:nth-child(4)
    li:last-child {
        width: 100%;
    }
    .copyright a {
        float: none;
    }
    .footer-container-custom.content-site.centered.gridBlock {
        grid-template-columns: 95%;
        text-align: center;
    }
    .footer-container-custom .logo {
        margin: 0 0 15px 8px;
        max-width: 90%;
    }

    .fullWidth.center.relative {
        height: 420px;
    }
    .fullWidth.center.relative .bg {
        height: 420px;
    }
    .page-layout-1column .product.media {
        width: 100% !important;
    }
    .scrollingItens .products-grid.grid .product-items li.product-item:before {
        content: none;
    }
    .fullContent.white-text {
        min-width: 70%;
    }

    .catalog-category-view #maincontent {
        padding: 0;
    }

    .catalog-category-view .sidebar.sidebar-main {
    }

    .catalog-category-view .filter:not(.active) .filter-title strong {
        margin-top: 20px;
        margin-left: 5px;
    }

    .toolbar-sorter.sorter .sorter-label {
        display: block;
        text-align: left;
        padding-left: 10px;
    }

    .catalog-category-view h1#page-title-heading,
    .catalog-category-view .block.block-wishlist,
    .catalog-category-view .toolbar.toolbar-products {
        padding: 0 5px;
    }

    .catalog-category-view ol.products.list.items.product-items {
        display: grid;
        grid-template-columns: 50% 50%;
    }

    .catalog-category-view .boximg .tocart,
    ol.product-items.widget-product-grid .boximg .tocart {
        position: initial;
        opacity: 1;
        white-space: normal;
        width: 100%;
    }

    .productListBox .productCta {
        opacity: 1 !important;
    }

    form.form.subscribe {
        margin-top: 25px;
    }

    .footerNewsletter {
        margin-top: 5px !important;
    }

    .block.newsletter .content form .field {
        width: 100%;
    }

    .block.newsletter {
        background-position: unset !important;
        padding: 32px 10px;
        background: #166bd2 !important;
    }

    .block.newsletter .content form .actions {
        right: -1px !important;
    }

    body.catalog-product-view .info .product.data.items {
        margin-top: 0 !important;
    }

    .block.newsletter .content {
        height: fit-content;
    }

    .form.subscribe .actions button.action.subscribe.primary {
        border-radius: 33px 10px 10px 33px !important;
    }

    .footerPage .padding20.sectionLinks.colors-blue-04 {
        padding: 25px 0 0 0;
    }
    .padding20.colors-blue-04.white-text.footerSocial,
    .padding20.colors-blue-04.white-text.footerCopyright {
        padding: 20px 0.75rem 0 0.75rem;
    }

    .catalog-product-view .page-title-wrapper.product {
        margin-top: 15px !important;
        margin-bottom: 15px !important;
    }

    .catalog-product-view h1.catTitle {
        font-size: 22px !important;
    }

    .page-products .sidebar.sidebar-main {
        display: none;
    }

    .page-products .productListBox {
        width: calc(50% - 5px);
    }

    .page-products span.product-image-container {
        width: 100% !important;
    }

    .page-products a.product.photo.product-item-photo {
        display: block;
        width: 100%;
    }

    .page-products .columns {
        padding-top: 15px;
    }

    ol.product-items {
        justify-content: space-evenly;
        gap: 10px;
    }

    li.product-item .product-item-actions .tocart {
        border-radius: 33px;
    }

    li.product-item .product-item-actions {
        width: 90%;
    }
    .block.newsletter .label {
        color: #fff;
    }
    .block.newsletter .actions {
        position: absolute;
        top: -1px;
        right: -1px;
        width: fit-content;
    }

    .block.newsletter .content {
        position: relative;
    }

    .block.newsletter .actions button.action {
        border-radius: 33px 12px 12px 33px !important;
    }
}
@media (max-width: 600px) {
    .footerPage .colItemTop {
        margin-bottom: 15px;
    }
    .footerPage .colItemTop img {
        width: 25px !important;
    }
    .footerPage .colItemTop span b {
        font-size: 11px !important;
    }

    .boxListPreco small:last-child {
        display: none;
    }
}
@media (min-width: 993px) {
    .row .col.l2_4 {
        width: 20%;
    }
}

@media (min-width: 993px) and (max-width: 1169px) {
    .col.l2.bemVindo {
        display: none;
    }

    nav.header .colItemTop.col.l2 {
        width: 20%;
    }

    nav.header .televendas {
        display: none;
    }
}

@media (min-width: 993px) {
    .topBar {
        transition: 0.4s;
    }

    .topBar.menuFixo {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 997;
        background: #fff;
        /*box-shadow: 0 0 3px 1px #9a9a9a;*/
        border-bottom: 1px solid #cccccc;
    }
    .topBar.menuFixo .topNav,
    .topBar.menuFixo .headerMenu {
        display: none;
    }

    .topBar.menuFixo .btnMenuFixo {
        display: block;
    }

    .btnMenuFixo:hover {
        background: #0d47a1;
        color: #fff !important;
    }
    .btnMenuFixo .material-icons {
        font-size: 2.6rem !important;
    }
    .btnMenuFixo {
        left: 30px;
        top: 30px;
        width: fit-content;
        z-index: 998;
        padding: 0;
    }
}

.widget-product-grid .product-item-inner {
    width: 100% !important;
    height: 60px !important;
    box-shadow: none !important;
    clip: unset !important;
    bottom: 5px;
    overflow: visible !important;
}

.widget-product-grid .product-item-name {
    font-size: 15px;
    line-height: normal;
    text-align: center;
}

.ctaLogin .addToCart {
    position: relative;
}

.ctaLogin .addToCart:before {
    content: "Entre ou cadastre-se para ver o preÃ§o";
    position: absolute;
    top: calc(-100% - 26px);
    width: 140%;
    height: fit-content;
    background: #004fcd;
    color: #fff;
    line-height: normal;
    font-size: 14px;
    padding: 8px;
    border-radius: 5px;
    left: -20%;
}

.ctaLogin .addToCart:after {
    content: "" !important;
    width: 0;
    height: 0;
    border: 15px solid #f00;
    border-top-color: #004fcd;
    pointer-events: none;
    border-bottom-color: transparent;
    border-left-color: transparent;
    border-right-color: transparent;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: -32px;
}

.catalog-product-view a#product-addtocart-button:hover {
    text-decoration: none;
    background: #004fcd !important;
    color: #fff !important;
}
.ctaLogin .addToCart:after,
.ctaLogin .addToCart:before {
    pointer-events: none;
    opacity: 0;
    transition: 0.5s linear;
    content: "Entre ou cadastre-se para ver o preço";
}
span.price-container.specialPrice.blue-text.waves-block.bold.price-final_price.tax.weee {
    display: flex;
    flex-wrap: wrap;
}

span.priceItem {
    order: 3;
}

span.price-label {
    width: 150px;
    color: #939393;
    font-size: 13px;
}
span.priceItem span.price {
    font-size: 20px !important;
}

.product-info-main .product-info-stock-sku {
    display: block;
}
.ctaLogin .addToCart:hover:after,
.ctaLogin .addToCart:hover:before {
    opacity: 1;
}

.customer-account-create .field.required label {
    position: relative;
    width: max-content !important;
    display: block;
}

.customer-account-create .field.required:not(.ca_pessoa) label:after {
    position: absolute;
    right: 0;
    top: -2px;
}

.customer-account-create .field.zip {
    display: block !important;
}


.customer-account-create .field.zip label {
    float: none !important;
}

fieldset.fieldset.create.account .fieldset.info:not(.create) {
    display: none;
}

div#ca_pessoa .control .field.choice {
    display: inline-block;
    width: fit-content !important;
}

div#ca_pessoa .control {
    width: calc(50% - 5px);
    display: flex;
    justify-content: space-between;
}

div#ca_pessoa .control .field.choice label {
    padding-left: 25px;
}

.field.choice.newsletter {
    margin-top: 15px;
}

.customer-account-create .fieldset .field[class*="ca_cnpj"] {
    display: none;
}

.block-minicart li .product .product-item-details {
    padding: 0px 0 0 10px;
}

.block-minicart li .product .product-item-details a {
    font-size: 14px;
}

.block-minicart li .product {
    line-height: 16px;
}

.block-minicart li .product .details-qty.qty {
    width: 30% !important;
}

.block-minicart li .product .details-qty.qty input.item-qty {
    border: 1px solid #ddd;
    padding: 5px;
}

.minicart-items .product-item {
    padding: 0;
}

.payment-option-title.field.choice,
.payment-method-content {
    max-width: fit-content !important;
}

body.account .field.password.current.required,
.field.new.password.required {
    display: flex;
    flex-direction: column;
}

.checkout-cart-index form#co-shipping-method-form label {
    height: auto !important;
}

body.account ol.product-items {
    display: block;
}

body.account ol.product-items li.product-item {
    display: block;
    width: 100% !important;
    padding: 10px !important;
}

body.account ol.product-items li.product-item {
    font-size: 14px;
}

body.account .order-details-items .product-item-name {
    font-size: 1rem;
}

body.account .order-date {
    margin-top: 5px !important;
}

body.checkout-index-index table.table-checkout-shipping-method input.radio {
    position: unset !important;
    opacity: 1 !important;
    pointer-events: all !important;
}

.bannerFullProductInfo.imgLeft.row {
}

.bannerFullProductInfo.imgLeft.row .col.s12.m5.l6.colIml.relative {
    height: 300px;
}

.bannerFullProductInfo.imgLeft.row .col.s12.m5.l6.colIml.relative img {
    bottom: 0;
}
ul.menuHorizontal.headerWelcome li.first a i {
    margin-right: 0 !important;
    float: none !important;
    vertical-align: middle;
}

.catalogsearch-result-index ol.product-items li,
.page-products ol.product-items li {
    width: 100% !important;
    padding: 10px 0 !important;
}

.catalogsearch-result-index ol.product-items,
.page-products ol.product-items {
    flex-direction: column;
}

.footerSocial .social-icons {
    display: flex;
    gap: 16px;
}

.footerSocial .row.content-site h5 {
    margin-bottom: 32px;
    font-family: "IBM Plex Sans";
    font-size: 16px !important;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.zoomContainer {
    pointer-events: none;
    display: none;
}

.productStars.row.no_margin {
    display: none;
}

.block.newsletter .title {
    max-width: 450px;
    margin: 0 auto;
}

.block.newsletter .content {
    max-width: 450px;
    margin: 0 auto;
}

.block.newsletter input {
    max-width: 312px !important;
}

.block.newsletter .actions {
    min-width: unset !important;
    max-width: 150px !important;
    z-index: 2;
}

.block.newsletter .field.newsletter {
    min-width: unset !important;
    max-width: 356px !important;
    flex-grow: 1;
}
button.action.subscribe.primary {
    padding: 9px 10px;
}

button.action.subscribe.primary span {
    display: flex;
    align-items: center;
    width: 100% !important;
}

.block.newsletter .content form .actions {
    position: absolute;
    right: 0;
    width: 50%;
}

form#newsletter-validate-detail {
    position: relative;
    justify-content: flex-start;
}

button.action.subscribe.primary {
    background-color: #0050c8 !important;
    color: #fff;
    text-align: center;
    /* body / medium / 16px */
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    border-radius: 33px !important;
}

.block.newsletter .title p {
    color: var(--colors-blue-01, #d9f0fe);
    text-align: center;

    /* body/regular/16px */
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

.block.newsletter .title strong {
    color: #fff;
    text-align: center !important;
    font-family: "IBM Plex Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

.block.newsletter .title {
    text-align: center;
}

.sections.nav-sections.menuFixo {
    position: fixed;
    width: 100%;
    top: 116px;
    z-index: 994;
}

.colors-blue-04 {
    background: var(--colors-blue-04, #035);
}

.footerPage .col.s6.m6.l3 > span,
.footerPage .col.s12.m6.l3 > p:first-child span {
    color: var(--colors-neutrals, #fff) !important;
    font-family: "IBM Plex Sans" !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: normal !important;
    text-transform: unset !important;
}

.footerPage .col.s6.m6.l3 > ul {
    margin-top: 24px !important;
}

.footerPage .col.s6.m6.l3 > ul li a,
.footerPage .col.s12.m6.l3 > p:not(:first-child) span {
    color: var(--colors-blue-01, #d9f0fe) !important;
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}

.footerPage .col.s12.m6.l3 > p:not(:first-child) {
    display: flex;
    gap: 8px;
}
.row.content-site.centered.footerList.sectionItens {
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0;
}

.padding20.colors-blue-04.white-text.footerSocial {
    padding-top: 0;
}

.padding20.sectionLinks.colors-blue-04 {
    padding-bottom: 0;
}

.padding20.colors-blue-04.white-text.footerCopyright span.left.white-text {
    color: var(--colors-blue-02, #009bfa) !important;

    /* label / regular / 14px */
    font-family: "IBM Plex Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    line-height: 35px;
}

.catalog-product-view h1.catTitle {
    color: var(--colors-blue-04, #035) !important;
    font-family: "IBM Plex Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.catalog-product-view .page-title-wrapper.product {
    margin-top: 62px;
    margin-bottom: 32px;
}

.catalog-product-view .product-info-stock-sku {
    padding: 0 !important;
    text-align: left !important;
}

.catalog-product-view .stock.available {
    color: #038200;

    /* label/semibold/14px */
    font-family: "IBM Plex Sans";
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-top: 40px !important;
}

.catalog-product-view .product-info-main .product-info-price {
    border: 0 !important;
}

.catalog-product-view a#product-addtocart-button {
    display: flex;
    gap: 16px;
    border-radius: 33px;
    border: 1px solid var(--colors-blue-03, #0050c8);
    display: flex;
    height: 40px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    background-color: transparent !important;
    color: var(--colors-blue-03, #0050c8) !important;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    text-transform: none !important;
}

.catalog-product-view .product-add-form {
    padding-top: 0 !important;
}

.catalog-product-view .product-info-stock-sku a.action.towishlist {
    color: #666666;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    display: inline-block;
    text-decoration: none;
}

.catalog-product-view .product-info-stock-sku a.action.towishlist:before {
    content: "\e600";
    width: 18px;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    line-height: 16px;
    color: inherit;
    font-family: "luma-icons";
    margin: -2px 5px 0 0;
    vertical-align: middle;
    display: inline-block;
    font-weight: normal;
    overflow: hidden;
    speak: none;
    text-align: center;
}

.catalog-product-view a#tab-label-description-title {
    border: none;
    background-color: transparent;
    color: var(--colors-blue-04, #035);

    /* title-2 / regular / 26px */
    font-family: "IBM Plex Sans";
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 0 !important;
}

.catalog-product-view div#description {
    display: flex;
    padding: 24px 16px !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    align-self: stretch;
    max-width: calc(60% - 0.75rem);
    border-radius: 8px;
    border: 1px solid #e0e0e0;
    background-color: var(--colors-neutrals, #fff) !important;
    color: #333;
}

.catalog-product-view .product.data.items .row.titleBar {
    margin: 0 !important;
}

.catalog-product-view .value p {
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%; /* 24px */
}
body.catalog-product-view {
    background-color: #f7f7f7;
}

body.catalog-product-view .product.data.items {
    margin-top: 95px !important;
}

.block-title strong {
    color: var(--colors-blue-04, #035) !important;

    /* title-1 / regular / 30px */
    font-family: "IBM Plex Sans";
    font-size: 30px;
    font-style: normal;
    font-weight: 400 !important;
    line-height: normal;
}

#popup-copiado {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #4caf50;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 16px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
}

div#copiar-link {
    cursor: pointer;
}

.block.newsletter .field .control:before {
    color: #2196f3 !important;
}

input#newsletter::placeholder {
    color: #bfbfbf;
}

footer.footerPage .block.newsletter .title p {
    max-width: 345px;
    margin: 0 auto;
}

footer.footerPage .block.newsletter .title p {
    max-width: 345px;
    margin: 0 auto;
    margin-bottom: 32px;
}

.block.newsletter .label {
    top: -28px !important;
    overflow: visible !important;
    width: 100% !important;
    height: 100% !important;
    clip: unset !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.padding20.sectionLinks.colors-blue-04 {
    padding: 48px;
}

a.action.create.primary,
button#send2,
button.action.submit.primary {
    width: 100%;
    border-radius: 33px;
    background: var(--colors-blue-03, #0050c8);
    display: flex;
    padding: 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    color: var(--colors-neutrals, #fff);
    text-align: center;
    font-family: "IBM Plex Sans";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.actions-toolbar {
    display: flex;
    gap: 8px;
}

.actions-toolbar:before,
.actions-toolbar:after {
    display: none;
}


.account .column.main  p, .account .column.main address {
    font-size: 16px!important;
}

span.price-container.specialPrice.blue-text.waves-block.bold.price-final_price.tax.weee {
    flex-direction: column
}


.product-info-price {
    display: flex!important;
    flex-direction: column;
}

.price-box.price-final_price {
    width: fit-content!important
}


.fotorama__nav-wrap--vertical .fotorama__nav__shaft {
    background: none !important;
}

.fotorama__thumb-border {
    border: 1px solid #b3d5f7 !important;
    margin-top: 0 !important;
}

.product.media {
    .fotorama__stage {
        height: auto !important;
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }
}

.fotorama__arr.fotorama__arr--next {
    right: 0 !important;
}

.fotorama__nav--thumbs .fotorama__nav__frame {
    padding-top: 0 !important;

}

.catalog-product-view .fotorama__nav-wrap--vertical .fotorama__nav__shaft .fotorama__nav__frame--thumb {
    padding-bottom: 10px !important;
}


@media (min-width: 768px) {

    .product.media {
        .fotorama__stage {
            left: 125px !important;
            width: calc(100% - 125px) !important;
        }
    }


/*Header Cupom*/
@media(min-width:768px) {
    .col-topbar {
        flex-direction: row !important;
        align-items: center;
    }
}

.col-topbar {
    gap: 5px;
    padding: 4px 0;
}

.col-topbar .track-copy-cupom a {
    font-size: 16px;
    background-color: transparent;
    color: #fff;
    transition: .5s ease-in-out;
}


.col-topbar .track-copy-cupom {
    &:hover {

        a {
            color: #fff;
            background-color: #024cc8;
            cursor: pointer;
        }
    }

}
.account fieldset.password .field.password .control {
    display: block;
}
}
/* ^ fecha o @media (min-width: 768px) aberto acima e nunca fechado: sem este fecho
   TODAS as regras abaixo ficavam válidas apenas a partir de 768px (desktop). */

/* CTA compra rapida - cadastro expresso (jornada B2B) */
.zfr-quick-signup {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0 8px;
    padding: 14px 18px;
    background: #f4f8fd;
    border: 1px solid #d8e4f3;
    border-left: 4px solid #0d47a1;
    border-radius: 4px;
    max-width: 640px;
}
.zfr-quick-signup__text {
    font-size: 15px;
    line-height: 1.5;
    color: #212121;
    text-align: left;
}
.zfr-quick-signup__text strong {
    display: block;
    font-size: 16px;
}
.zfr-quick-signup__button.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    flex-shrink: 0;
    height: auto;
    min-height: 44px;
    box-sizing: border-box;
    line-height: 1.2;
    padding: 14px 18px;
}
.zfr-quick-signup__button.btn:focus {
    outline: 2px solid #0d47a1;
    outline-offset: 2px;
}
@media (max-width: 600px) {
    .zfr-quick-signup {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    .zfr-quick-signup__text {
        text-align: center;
    }
}

/* ==== Área do Cliente (login): dois cards lado a lado ==== */
.customer-account-login .page-main {
    --zfr-login-accent: #0050c8;
    --zfr-login-border: #e8e8ee;
    --zfr-login-muted: #5b5f6b;
}

/* título com ícone (sem fundo circular) */
.customer-account-login .page-title-wrapper .page-title .base {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.customer-account-login .page-title-wrapper .page-title .base:before {
    content: '';
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230050c8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 3.6-6 8-6s8 2 8 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.zfr-login-intro {
    margin: 0 0 24px;
    color: var(--zfr-login-muted, #5b5f6b);
    font-size: 16px;
    line-height: 1.5;
}

/* grade dos dois cards */
.customer-account-login .login-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch; /* os dois cards terminam na mesma altura */
}
.customer-account-login .login-container:before,
.customer-account-login .login-container:after {
    content: none;
}
.customer-account-login .login-container .block {
    width: auto;
    float: none;
    margin: 0;
    padding: 28px;
    background: #fff;
    border: 1px solid var(--zfr-login-border, #e8e8ee);
    border-radius: 16px;
    box-sizing: border-box;
}
/* o tema fixa `width: 87% !important` apenas no card de login, o que deixava os
   dois blocos com larguras diferentes; no grid ambos ocupam a coluna inteira */
.customer-account-login .login-container .block.block-customer-login,
.customer-account-login .login-container .block.block-new-customer {
    width: auto !important;
    float: none !important;
}
.customer-account-login .login-container .block-title {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
}
.customer-account-login .login-container .block-title strong {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #1b1c20;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.3;
}
.customer-account-login .login-container .block-title strong:before {
    content: '';
    flex: 0 0 auto;
    width: 24px;
    height: 24px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.customer-account-login .block-customer-login .block-title strong:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230050c8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2.5'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}
.customer-account-login .block-new-customer .block-title strong:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230050c8' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10' cy='8' r='3.6'/%3E%3Cpath d='M3.5 20c0-3.4 2.9-5.2 6.5-5.2M17 11v6M20 14h-6'/%3E%3C/svg%3E");
}
/* texto de apoio + divisor abaixo dele */
.customer-account-login .block-new-customer .block-content > p,
.customer-account-login .block-customer-login .fieldset.login > .field.note {
    margin: 0 0 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eef0f4;
    color: var(--zfr-login-muted, #5b5f6b);
    font-size: 15px;
    line-height: 1.55;
}
.customer-account-login .fieldset.login:after {
    display: none;
}

/* campos — o Luma limita o .control do login a 80% (styles-l), o que deixava os
   inputs mais estreitos que o botão Entrar; aqui voltam à largura do campo */
.customer-account-login .login-container .fieldset > .field > .control,
.customer-account-login .login-container .field .control {
    width: 100%;
}
.customer-account-login .login-container .field .label {
    display: block;
    margin-bottom: 5px;
    color: #1b1c20;
    font-size: 14px;
    font-weight: 600;
}
/* espaçamento enxuto entre um campo e o rótulo do campo seguinte */
.customer-account-login .block-customer-login .fieldset.login > .field {
    margin-bottom: 16px;
}
.customer-account-login .block-customer-login .fieldset.login > .field.password {
    margin-bottom: 16px;
}
.customer-account-login .login-container .field .control input[type="email"],
.customer-account-login .login-container .field .control input[type="password"],
.customer-account-login .login-container .field .control input[type="text"] {
    width: 100%;
    height: auto;
    /* a margem herdada do tema inflava o .control em 20px e desalinhava o
       botão do olho, que é centralizado por ele */
    margin: 0;
    padding: 13px 16px;
    background: #fff;
    border: 1px solid #dfe2e9;
    border-bottom: 1px solid #dfe2e9 !important;
    border-radius: 10px;
    box-shadow: none !important;
    box-sizing: border-box;
    font-size: 15px;
    vertical-align: top;
}
/* foco: apenas a borda de 1px muda para azul, como no formulário de cadastro
   (!important porque o tema define outra cor de borda no foco) */
.customer-account-login .login-container .field .control input:focus {
    border: 1px solid var(--zfr-login-accent, #0050c8) !important;
    outline: none;
    box-shadow: none !important;
}
/* altura previsível do campo — o botão do olho é ancorado a partir dela */
.customer-account-login .block-customer-login .field.password .control input {
    min-height: 48px;
    padding-right: 52px; /* espaço para o botão do olho */
}

/* "Mostrar senha": o JS move o bloco para DENTRO do .control da senha (mesmo
   padrão do formulário de cadastro), então o ícone é ancorado ao próprio campo. */
.customer-account-login .block-customer-login .field.password .control {
    position: relative;
}
.customer-account-login .block-customer-login .control.zfr-has-password-toggle .field.choice {
    position: absolute;
    top: 50%;
    right: 4px;
    transform: translateY(-50%);
    height: auto;
    margin: 0;
    padding: 0;
    z-index: 2;
}
/* enquanto o JS não posiciona, o bloco não ocupa espaço no formulário */
.customer-account-login .block-customer-login .field.choice {
    margin: 0;
    padding: 0;
}
.zfr-show-password__checkbox {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}
/* o Materialize desenha um checkbox falso em [type=checkbox]+label:before/:after
   e aplica padding-left:35px no label — anulado aqui para o label virar só o ícone */
.customer-account-login .block-customer-login .field.choice .zfr-show-password:before,
.customer-account-login .block-customer-login .field.choice .zfr-show-password:after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    background: none !important;
    box-shadow: none !important;
    transform: none !important;
}
.customer-account-login .block-customer-login .field.choice .zfr-show-password {
    position: static;           /* o wrapper .field.choice é quem posiciona */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;                /* alvo de toque mínimo */
    height: 44px;
    margin: 0;
    padding: 0 !important;      /* mata o padding-left do Materialize */
    line-height: 1 !important;
    color: #6b7280;
    cursor: pointer;
    background: none;
    border: 0;
    border-radius: 8px;
    transition: color .2s ease;
}
.customer-account-login .block-customer-login .field.choice .zfr-show-password:hover {
    color: var(--zfr-login-accent, #0050c8);
}
.zfr-show-password__checkbox:focus-visible + .zfr-show-password {
    outline: 2px solid var(--zfr-login-accent, #0050c8);
    outline-offset: 2px;
    border-radius: 6px;
}
/* alterna o ícone conforme o estado do checkbox */
.zfr-show-password__off,
.zfr-show-password__checkbox:checked + .zfr-show-password .zfr-show-password__on {
    display: none;
}
.zfr-show-password__checkbox:checked + .zfr-show-password .zfr-show-password__off {
    display: block;
}
.zfr-show-password__text {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
    white-space: nowrap;
}

/* botão Entrar em largura total */
.customer-account-login .block-customer-login .actions-toolbar {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 22px;
}
.customer-account-login .block-customer-login .actions-toolbar .primary,
.customer-account-login .block-customer-login .actions-toolbar .secondary {
    float: none;
    width: 100%;
    margin: 0;
    text-align: center;
}
.customer-account-login .block-customer-login .action.login.primary {
    width: 100%;
    min-height: 48px;
    border-radius: 999px;
    background: var(--zfr-login-accent, #0050c8);
    border-color: var(--zfr-login-accent, #0050c8);
    font-size: 15px;
    font-weight: 600;
}
.customer-account-login .block-customer-login .action.remind {
    color: var(--zfr-login-accent, #0050c8);
    font-size: 14px;
}

/* card de novos clientes: as duas rotas de cadastro */
.zfr-signup-options {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
}
.zfr-signup-options__primary,
.zfr-signup-options__primary:link,
.zfr-signup-options__primary:visited,
.zfr-signup-options__button,
.zfr-signup-options__button:link,
.zfr-signup-options__button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--zfr-login-accent, #0050c8);
    border-radius: 999px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: background-color .3s ease, color .3s ease;
}
.zfr-signup-options__primary,
.zfr-signup-options__primary:link,
.zfr-signup-options__primary:visited,
.zfr-signup-options__primary:hover,
.zfr-signup-options__primary:focus,
.zfr-signup-options__primary:active {
    background: var(--zfr-login-accent, #0050c8);
    color: #fff;
}
.zfr-signup-options__primary:hover,
.zfr-signup-options__primary:focus {
    opacity: .9;
}
.zfr-signup-options__button,
.zfr-signup-options__button:link,
.zfr-signup-options__button:visited {
    background: #fff;
    color: var(--zfr-login-accent, #0050c8);
}
.zfr-signup-options__button:hover,
.zfr-signup-options__button:focus,
.zfr-signup-options__button:active {
    background: var(--zfr-login-accent, #0050c8);
    color: #fff;
    text-decoration: none;
}
.zfr-signup-options__primary:focus,
.zfr-signup-options__button:focus {
    outline: 2px solid var(--zfr-login-accent, #0050c8);
    outline-offset: 2px;
}
.zfr-signup-options__hint {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 6px 0 0;
    color: var(--zfr-login-muted, #5b5f6b);
    font-size: 14px;
    line-height: 1.45;
}
.zfr-signup-options__hint svg {
    flex: 0 0 auto;
    color: var(--zfr-login-accent, #0050c8);
}

/* aviso de continuidade: conta criada pelo login social completando o cadastro */
.zfr-social-continuation {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 0 22px;
    padding: 14px 18px;
    background: #eaf1fc;
    border: 1px solid #cfe0f7;
    border-left: 4px solid var(--zfr-login-accent, #0050c8);
    border-radius: 10px;
    color: #1b1c20;
    font-size: 15px;
    line-height: 1.5;
}
.zfr-social-continuation strong {
    color: var(--zfr-login-accent, #0050c8);
    font-size: 16px;
}
.zfr-social-continuation__email {
    color: #5b5f6b;
    font-size: 14px;
    word-break: break-all;
}

/* ==== Botões de login social (Mageplaza_SocialLogin) ====
   O módulo entrega botões coloridos legados com texto truncado por
   text-overflow; aqui seguem o padrão atual dos provedores: superfície clara,
   borda discreta, rótulo legível e altura de toque compatível. */
.social-login-authentication-channel .block-content,
.account-social-login .block-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
/* o wrapper carrega a classe .actions-toolbar do Luma, que o mantém do tamanho
   do conteúdo; aqui ele ocupa a coluna inteira para o botão acompanhar */
.social-btn.social-btn-actions-toolbar,
.social-login-authentication-channel .social-btn,
.social-login-authentication-popup .social-btn,
.block-authentication .social-btn,
.account-social-login .social-btn {
    display: block !important;
    align-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center;
}
/* o tema aplica .btn com borda transparente, raio 4px, caixa alta e largura
   automática; por isso as propriedades de forma vão com !important */
.social-login-authentication-channel .social-btn .btn-social,
.account-social-login .social-btn .btn-social,
.social-btn .btn-social,
.social-btn .btn-social:link,
.social-btn .btn-social:visited {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-height: 46px;
    height: auto !important;
    margin: 0;
    padding: 11px 18px 11px 46px !important;
    position: relative;
    background: #fff !important;
    border: 1px solid #dadce0 !important;
    border-radius: 999px !important;
    color: #3c4043 !important;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: normal;
    text-align: center;
    text-decoration: none;
    text-transform: none !important;
    /* o módulo trunca o rótulo; aqui ele aparece por inteiro */
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    box-shadow: none !important;
    transition: background-color .2s ease, border-color .2s ease;
}
.social-btn .btn-social:hover,
.social-btn .btn-social:focus,
.social-btn .btn-social:active {
    background: #f7f8fa !important;
    border-color: #c6cad0 !important;
    color: #202124 !important;
    text-decoration: none;
}
.social-btn .btn-social:focus {
    outline: 2px solid var(--zfr-login-accent, #0050c8);
    outline-offset: 2px;
}
/* ícone do provedor: sem a barra separadora e sem depender de webfont */
.social-btn .btn-social > :first-child {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    line-height: 1;
    border-right: 0;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 0;
    color: transparent;
}
.social-btn .btn-google > :first-child {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23EA4335' d='M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z'/%3E%3Cpath fill='%234285F4' d='M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z'/%3E%3Cpath fill='%23FBBC05' d='M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24s.92 7.54 2.56 10.78l7.97-6.19z'/%3E%3Cpath fill='%2334A853' d='M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z'/%3E%3C/svg%3E");
}
.social-btn .btn-facebook > :first-child {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%231877F2'%3E%3Cpath d='M24 12.07C24 5.4 18.63 0 12 0S0 5.4 0 12.07C0 18.1 4.39 23.1 10.13 24v-8.44H7.08v-3.49h3.05V9.41c0-3.02 1.79-4.69 4.53-4.69 1.31 0 2.68.24 2.68.24v2.96h-1.51c-1.49 0-1.96.93-1.96 1.89v2.26h3.33l-.53 3.49h-2.8V24C19.61 23.1 24 18.1 24 12.07z'/%3E%3C/svg%3E");
}
/* separador "ou entre com", quando o módulo o exibe */
.social-login-authentication-channel .block-title,
.account-social-login .block-title {
    margin: 0 0 10px;
    border: 0;
    color: var(--zfr-login-muted, #5b5f6b);
    font-size: 13px;
    text-align: center;
}
/* na faixa do criar conta o login social fica logo abaixo do CTA, com a mesma
   largura — os dois compartilham a coluna de ações */
.zfr-express-banner__actions {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
    flex: 0 0 auto;
    /* centraliza o par de botões em relação à altura do bloco */
    align-self: center;
    min-width: 232px;
}
/* o bloco social carrega a classe `block`, e o Luma aplica
   `.page-main .block { margin-bottom: 50px }` no styles-l — que é carregado
   depois deste arquivo e, com a mesma especificidade, vencia. Daí o !important:
   sem ele sobra um vão embaixo do botão e o conjunto não fica centralizado. */
.zfr-express-banner__actions .account-social-login,
.zfr-express-banner__actions .social-login-authentication-channel {
    width: 100%;
    margin: 0 !important;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}
/* fora da faixa (ex.: cadastro expresso) segue a largura do formulário */
.customer-account-create-express .account-social-login {
    width: 760px;
    max-width: 100%;
    margin: 0 auto 18px;
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

/* ordem no card de acesso: campos > Entrar/Esqueci > "ou" > login social.
   O container do social é renderizado antes das ações no template do core, então
   a ordem visual vem do flex. */
.customer-account-login .block-customer-login .fieldset.login {
    display: flex;
    flex-direction: column;
}
.customer-account-login .block-customer-login .fieldset.login > .field {
    order: 1;
}
.customer-account-login .block-customer-login .fieldset.login > .actions-toolbar {
    order: 2;
}
.customer-account-login .block-customer-login .fieldset.login > .account-social-login,
.customer-account-login .block-customer-login .fieldset.login > .social-login-authentication-channel {
    order: 3;
}

/* dentro do formulário de login, separado dos campos por uma linha "ou".
   O bloco herda a moldura de `.block` do tema; aqui ele volta a ser só conteúdo. */
.customer-account-login .block-customer-login .account-social-login {
    width: 100%;
    /* !important pelo mesmo motivo: `.page-main .block` do styles-l */
    margin: 18px 0 0 !important;
    padding: 18px 0 0;
    background: none;
    border: 0;
    border-top: 1px solid #eef0f4;
    border-radius: 0;
    box-shadow: none;
    position: relative;
}
.customer-account-login .block-customer-login .account-social-login .block-content,
.customer-account-login .block-customer-login .social-btn {
    width: 100%;
    margin: 0;
    padding: 0;
    background: none;
    border: 0;
}
.customer-account-login .block-customer-login .account-social-login:before {
    content: 'ou';
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 2px 10px;
    background: #fff;
    color: var(--zfr-login-muted, #5b5f6b);
    font-size: 13px;
    line-height: 1.4;
}

/* ==== Modal de autenticação (checkout) ==== */
/* o menu fixo (.topBar.menuFixo z-index 997 / .btnMenuFixo 998) cobria o modal,
   que no Luma nasce com 900 (overlay 899). Elevar a base do modal resolve para
   todos os modais do site; o JS do Magento incrementa a partir destes valores. */
.modals-overlay {
    z-index: 1000;
}
.modal-popup,
.modal-slide {
    z-index: 1001;
}
/* defesa extra: com modal aberto o menu fixo nunca disputa a camada */
body._has-modal .topBar.menuFixo,
body._has-modal .btnMenuFixo,
body._has-modal .sections.nav-sections.menuFixo {
    z-index: 800;
}

.zfr-auth-popup .zfr-auth-popup__title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #1b1c20;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3;
}
.zfr-auth-popup .zfr-auth-popup__title svg {
    flex: 0 0 auto;
    color: var(--zfr-login-accent, #0050c8);
}
.zfr-auth-popup .block-content > p {
    color: #4b5563;
    font-size: 15px;
    line-height: 1.55;
}
.zfr-auth-popup__list {
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.zfr-auth-popup__list > li {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.45;
}
.zfr-auth-popup__list > li svg {
    flex: 0 0 auto;
    color: var(--zfr-login-accent, #0050c8);
}
/* botões do modal no mesmo padrão pill das telas de conta */
.zfr-auth-popup .zfr-auth-popup__button,
.zfr-auth-popup .zfr-auth-popup__button:link,
.zfr-auth-popup .zfr-auth-popup__button:visited,
.zfr-auth-popup .zfr-auth-popup__button:hover,
.zfr-auth-popup .zfr-auth-popup__button:focus,
.zfr-auth-popup .zfr-auth-popup__button:active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100%;
    min-height: 48px;
    padding: 12px 22px;
    border: 1px solid var(--zfr-login-accent, #0050c8);
    border-radius: 999px;
    background: var(--zfr-login-accent, #0050c8);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    transition: opacity .3s ease;
}
.zfr-auth-popup .zfr-auth-popup__button:hover,
.zfr-auth-popup .zfr-auth-popup__button:focus {
    opacity: .9;
}
.zfr-auth-popup .zfr-auth-popup__button:focus {
    outline: 2px solid var(--zfr-login-accent, #0050c8);
    outline-offset: 2px;
}
.zfr-auth-popup .actions-toolbar .primary,
.zfr-auth-popup .actions-toolbar .secondary {
    float: none;
    width: 100%;
    margin: 0;
    text-align: center;
}
.zfr-auth-popup .actions-toolbar .secondary {
    margin-top: 10px;
}
.zfr-auth-popup .actions-toolbar .secondary .action {
    color: var(--zfr-login-accent, #0050c8);
    font-size: 14px;
}
/* a coluna de login do popup é flex; sem direção definida o bloco social ficava
   ao LADO do formulário e por isso espremido */
.block-authentication .block-customer-login {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* login social dentro do popup: mesma largura e forma dos demais botões */
.zfr-auth-popup .social-login-authentication-popup,
.block-authentication .social-login-authentication-popup {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    /* .col-mp traz padding lateral próprio, que estreitava o botão */
    padding: 0 0 16px !important;
    background: none;
    border: 0;
    border-bottom: 1px solid #eef0f4;
    box-shadow: none;
}
/* o módulo força `display:block !important` no conteúdo e `inline-block` no
   wrapper do botão (com especificidade maior), o que encolhia o botão */
.zfr-auth-popup .social-login-authentication-popup .block-content,
.block-authentication .social-login-authentication-popup .block-content {
    width: 100%;
    padding: 0;
}
.zfr-auth-popup .social-login-authentication-popup .block-content .actions-toolbar,
.block-authentication .social-login-authentication-popup .block-content .actions-toolbar {
    display: block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    padding: 0 !important;
}
.zfr-auth-popup .social-login-authentication-popup .block-content .btn-social,
.block-authentication .social-login-authentication-popup .block-content .btn-social {
    width: 100% !important;
    padding-left: 46px !important;
    padding-right: 18px !important;
}
.zfr-auth-popup .field .label {
    display: block;
    margin-bottom: 6px;
    color: #1b1c20;
    font-size: 14px;
    font-weight: 600;
}
.zfr-auth-popup .field .control input[type="email"],
.zfr-auth-popup .field .control input[type="password"],
.zfr-auth-popup .field .control input[type="text"] {
    width: 100%;
    height: auto;
    padding: 13px 16px;
    background: #fff;
    border: 1px solid #dfe2e9;
    border-bottom: 1px solid #dfe2e9 !important;
    border-radius: 10px;
    box-shadow: none !important;
    box-sizing: border-box;
    font-size: 15px;
}
.zfr-auth-popup .field .control input:focus {
    border: 1px solid var(--zfr-login-accent, #0050c8) !important;
    outline: none;
    box-shadow: none !important;
}
/* os dois CTAs do popup ocupam a largura da própria coluna */
.zfr-auth-popup .actions-toolbar .primary .action.zfr-auth-popup__button,
.zfr-auth-popup .block-new-customer .actions-toolbar .primary {
    width: 100%;
}
/* o Luma estreita o .control e alinha as ações em linha dentro do popup */
.zfr-auth-popup .fieldset > .field > .control,
.zfr-auth-popup .field .control {
    width: 100%;
}
.zfr-auth-popup .fieldset > .field {
    margin-bottom: 16px;
}
.zfr-auth-popup .field .control input {
    margin: 0;
    vertical-align: top;
}
.zfr-auth-popup .actions-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 4px;
}
.zfr-auth-popup .actions-toolbar > .primary,
.zfr-auth-popup .actions-toolbar > .secondary {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
    text-align: center;
}
.zfr-auth-popup .fieldset:after {
    display: none; /* "* Campos obrigatórios" duplicado dentro do popup */
}
@media (max-width: 768px) {
    .zfr-auth-popup .zfr-auth-popup__title {
        font-size: 18px;
    }
    .zfr-auth-popup .field .control input[type="email"],
    .zfr-auth-popup .field .control input[type="password"] {
        font-size: 16px; /* evita zoom automático no iOS */
    }
}

/* ==== Área do Cliente no mobile: cards empilhados com separador "ou" ==== */
@media (max-width: 900px) {
    .customer-account-login .login-container {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 40px;
    }
    .customer-account-login .login-container .block {
        padding: 22px 18px;
    }
    /* separador entre os dois cards, centrado no espaço entre eles */
    .customer-account-login .block-new-customer {
        position: relative;
    }
    .customer-account-login .block-new-customer:before {
        content: 'ou';
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, -50%);
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: #f3f4f7;
        border: 1px solid var(--zfr-login-border, #e8e8ee);
        color: var(--zfr-login-muted, #5b5f6b);
        font-size: 13px;
        line-height: 1;
    }
    .customer-account-login .page-title-wrapper .page-title .base {
        gap: 10px;
    }
    .customer-account-login .page-title-wrapper .page-title .base:before {
        width: 26px;
        height: 26px;
    }
    .zfr-login-intro {
        margin-bottom: 20px;
        font-size: 15px;
    }
    .customer-account-login .login-container .block-title strong {
        font-size: 19px;
    }
    /* alvo de toque confortável nos campos e ações */
    .customer-account-login .login-container .field .control input[type="email"],
    .customer-account-login .login-container .field .control input[type="password"],
    .customer-account-login .login-container .field .control input[type="text"] {
        font-size: 16px; /* evita zoom automático no iOS */
    }
}
@media (max-width: 480px) {
    .customer-account-login .login-container .block {
        padding: 20px 16px;
        border-radius: 14px;
    }
    .customer-account-login .login-container .block-title strong {
        gap: 8px;
        font-size: 18px;
    }
    .zfr-signup-options__primary,
    .zfr-signup-options__button {
        font-size: 14px;
        padding: 12px 14px;
    }
    .zfr-signup-options__hint {
        font-size: 13px;
    }
}

/* criar conta: faixa de topo com o atalho do cadastro expresso */
.zfr-express-banner {
    /* realce da faixa na cor da marca; trocar estas duas variáveis muda todo o bloco */
    --zfr-express-accent: #0050c8;
    --zfr-express-accent-soft: #eaf1fc;
    display: flex;
    align-items: center;
    gap: 20px;
    width: 760px;
    max-width: 100%;
    margin: 20px auto 0;
    padding: 20px 24px;
    background: #fff;
    border: 1px solid #e8e8ee;
    border-radius: 16px;
    box-sizing: border-box;
}
.zfr-express-banner__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: var(--zfr-express-accent-soft);
    box-shadow: 0 0 0 6px rgba(0, 80, 200, .08);
    color: var(--zfr-express-accent);
}
.zfr-express-banner__content {
    flex: 1 1 auto;
    min-width: 0;
}
.zfr-express-banner__title {
    display: block;
    color: var(--zfr-express-accent);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}
.zfr-express-banner__subtitle {
    display: block;
    margin-top: 2px;
    color: #4b5563;
    font-size: 15px;
    line-height: 1.5;
}
.zfr-express-banner__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 18px;
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    color: #6b7280;
    font-size: 13px;
}
.zfr-express-banner__meta > li {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}
.zfr-express-banner__meta > li + li {
    border-left: 1px solid #e5e7eb;
    padding-left: 18px;
}
/* :visited/:active explícitos — o link do tema sobrescreveria o texto após o clique */
.zfr-express-banner__button,
.zfr-express-banner__button:link,
.zfr-express-banner__button:visited,
.zfr-express-banner__button:hover,
.zfr-express-banner__button:focus,
.zfr-express-banner__button:active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    flex-shrink: 0;
    padding: 12px 24px;
    border: 1px solid var(--zfr-express-accent, #0050c8);
    border-radius: 999px;
    background: var(--zfr-express-accent, #0050c8);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transition: opacity .3s ease;
}
.zfr-express-banner__button:hover,
.zfr-express-banner__button:focus,
.zfr-express-banner__button:active {
    opacity: .9;
}
.zfr-express-banner__button:focus {
    outline: 2px solid var(--zfr-express-accent, #0050c8);
    outline-offset: 2px;
}
.zfr-express-banner__button:focus {
    outline: 2px solid #0d47a1;
    outline-offset: 2px;
}
/* mobile da faixa: ícone permanece AO LADO do texto; o botão desce em largura total */
@media (max-width: 800px) {
    .zfr-express-banner {
        width: 100%;
        margin-top: 10px;
        padding: 18px;
        gap: 14px;
        flex-wrap: wrap;
        align-items: flex-start;
        text-align: left;
    }
    .zfr-express-banner__icon {
        width: 46px;
        height: 46px;
        box-shadow: none;
    }
    .zfr-express-banner__icon svg {
        width: 22px;
        height: 22px;
    }
    .zfr-express-banner__content {
        flex: 1 1 0;
    }
    .zfr-express-banner__title {
        font-size: 17px;
    }
    .zfr-express-banner__subtitle {
        font-size: 14px;
    }
    .zfr-express-banner__button {
        flex: 1 1 100%;
        width: 100%;
    }
}
@media (max-width: 600px) {
    .zfr-express-banner__meta {
        gap: 6px;
    }
    .zfr-express-banner__meta > li + li {
        border-left: 0;
        padding-left: 0;
        flex-basis: 100%;
    }
}

/* formulários expressos: reserva espaço para o asterisco de obrigatório.
   A label é width:max-content e o asterisco é absoluto em right:0 (regra do tema),
   então sem esse respiro ele cobre a última letra do rótulo. */
.customer-account-create-express .field.required > .label,
.customer-account-create-express .field._required > .label,
.customer-account-update-express .field.required > .label,
.customer-account-update-express .field._required > .label {
    padding-right: 14px;
    box-sizing: content-box;
}

/* Aviso regulatorio na success page (jornada B2B) */
.zfr-regulatory-notice {
    margin: 20px 0;
    padding: 16px 18px;
    background: #fff8ec;
    border: 1px solid #f0dcb8;
    border-left: 4px solid #e69100;
    border-radius: 4px;
    color: #212121;
    font-size: 15px;
    line-height: 1.55;
}
.zfr-regulatory-notice strong {
    display: block;
    margin-bottom: 4px;
    font-size: 16px;
}
.zfr-regulatory-notice p {
    margin: 6px 0;
}
.zfr-regulatory-notice__coupon strong {
    display: inline;
    color: #0d47a1;
    letter-spacing: 1px;
}

/* ==== Cadastro incompleto: aviso no cabeçalho, painel e pós-cadastro ==== */
.zfr-hidden {
    display: none !important;
}

/* badge "Finalizar cadastro" no cabeçalho (desktop) */
.zfr-finish-signup-badge,
.zfr-finish-signup-badge:link,
.zfr-finish-signup-badge:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 44px !important;      /* o header impõe line-height alto; sem isso o pill vira um balão */
    margin: 2px 0 0 !important;
    padding: 0 12px !important;
    background: #fff3cd;
    border: 1px solid #eed688;
    border-radius: 999px;
    color: #664d03 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1 !important;
    text-decoration: none;
    white-space: nowrap;
    transition: background-color .2s ease;
}
.zfr-finish-signup-badge:hover,
.zfr-finish-signup-badge:focus {
    background: #ffecb3;
    color: #523e02;
    text-decoration: none;
}
.zfr-finish-signup-badge:focus {
    outline: 2px solid #b8860b;
    outline-offset: 2px;
}
.zfr-finish-signup-badge .material-icons {
    float: none !important;
    width: auto;
    height: auto;
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    color: #b8860b;
}
/* variante do menu mobile: item de lista com alvo de toque confortável */
.zfr-finish-signup-item {
    margin: 0;
}
.zfr-finish-signup-badge--drawer,
.zfr-finish-signup-badge--drawer:link,
.zfr-finish-signup-badge--drawer:visited {
    display: flex;
    width: auto;
    height: auto !important;      /* alvo de toque no menu mobile */
    min-height: 48px;
    margin: 4px 12px !important;
    padding: 12px 16px !important;
    border-radius: 10px;
    font-size: 14px;
    line-height: 1.3 !important;
    white-space: normal;
}
.zfr-finish-signup-badge--drawer .material-icons {
    font-size: 20px;
}

/* bloco amarelo no painel do cliente */
.zfr-incomplete-signup {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 0 24px;
    padding: 16px 20px;
    background: #fff8e1;
    border: 1px solid #f0da9a;
    border-left: 4px solid #d97706;
    border-radius: 10px;
    box-sizing: border-box;
}
.zfr-incomplete-signup__icon {
    flex: 0 0 auto;
    color: #b45309;
}
.zfr-incomplete-signup__text {
    flex: 1 1 auto;
    min-width: 0;
    color: #6b5310;
    font-size: 15px;
    line-height: 1.5;
}
.zfr-incomplete-signup__text strong {
    display: block;
    color: #5c4708;
    font-size: 16px;
}
.zfr-incomplete-signup__button,
.zfr-incomplete-signup__button:link,
.zfr-incomplete-signup__button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 11px 22px;
    background: #0050c8;
    border: 1px solid #0050c8;
    border-radius: 999px;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
    text-decoration: none;
    transition: opacity .2s ease;
}
.zfr-incomplete-signup__button:hover,
.zfr-incomplete-signup__button:focus {
    color: #fff;
    opacity: .9;
    text-decoration: none;
}
.zfr-incomplete-signup__button:focus {
    outline: 2px solid #0050c8;
    outline-offset: 2px;
}

/* success page: variante "ação necessária" (âmbar) + botão */
.zfr-regulatory-notice--action {
    background: #fff8e1;
    border: 1px solid #f0da9a;
    border-left: 4px solid #d97706;
    color: #6b5310;
}
.zfr-regulatory-notice--action strong {
    color: #5c4708;
}
.zfr-regulatory-notice__button,
.zfr-regulatory-notice__button:link,
.zfr-regulatory-notice__button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 24px;
    background: #0050c8;
    border: 1px solid #0050c8;
    border-radius: 999px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: opacity .2s ease;
}
.zfr-regulatory-notice__button:hover,
.zfr-regulatory-notice__button:focus {
    color: #fff;
    opacity: .9;
    text-decoration: none;
}

/* mensagem pós-cadastro com o retorno ao produto de origem */
.zfr-back-to-product {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
}
.zfr-back-to-product__button,
.zfr-back-to-product__button:link,
.zfr-back-to-product__button:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    background: #fff;
    border: 1px solid #0050c8;
    border-radius: 999px;
    color: #0050c8;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
}
.zfr-back-to-product__button:hover,
.zfr-back-to-product__button:focus {
    background: #0050c8;
    color: #fff;
    text-decoration: none;
}

@media (max-width: 600px) {
    .zfr-incomplete-signup {
        flex-direction: column;
        align-items: stretch;
        padding: 16px;
        text-align: left;
    }
    .zfr-incomplete-signup__icon {
        display: none;
    }
    .zfr-incomplete-signup__button {
        width: 100%;
    }
    .zfr-regulatory-notice__button {
        width: 100%;
    }
    .zfr-back-to-product__button {
        width: 100%;
    }
}

/* o .side-nav li>a do Materialize impõe display:block e empilha ícone/texto */
#menuMobile .zfr-finish-signup-badge--drawer,
.side-nav .zfr-finish-signup-badge--drawer {
    display: flex !important;
    align-items: center !important;
    gap: 10px;
    height: auto !important;
    line-height: 1.3 !important;
}
#menuMobile .zfr-finish-signup-badge--drawer.zfr-hidden,
.side-nav .zfr-finish-signup-badge--drawer.zfr-hidden {
    display: none !important;   /* precisa vencer as regras de exibição acima */
}
#menuMobile .zfr-finish-signup-badge--drawer .material-icons,
.side-nav .zfr-finish-signup-badge--drawer .material-icons {
    float: none !important;
    margin: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* o wrapper interno garante ícone+texto lado a lado, independentemente do
   display que o tema imponha na âncora (.side-nav li>a etc.) */
.zfr-finish-signup-badge__inner {
    display: inline-flex !important;
    align-items: center;
    gap: 7px;
    line-height: 1.2;
    vertical-align: middle;
}
.zfr-finish-signup-badge__inner svg {
    flex: 0 0 auto;
    color: #b8860b;
}
.zfr-finish-signup-badge--drawer .zfr-finish-signup-badge__inner {
    gap: 10px;
    line-height: 1.3;
}

/* o bloco de saudação encolhia ao ganhar o badge ao lado; largura por conteúdo evita a quebra */
@media only screen and (min-width: 993px) {
    .greet.welcome {
        width: max-content;
    }
}
