body {
    display: flex;
    min-height: 100vh;
    flex-direction: column;
    overflow-x: hidden;
}

main {
    flex: 1 0 auto;
}

.small-text{
    font-size: 6pt;
}

.tabs .tab a:hover, .tabs .tab a.active{
    color: green;
}

.tabs .tab a{
    color: lightgreen;
}

.tabs .tab a:focus, .tabs .tab a:focus.active{
    background-color: #e4ffd5;
}

.tabs .indicator{
    background-color: green;
}

div#basket{
position: fixed;
left: 0px;
right: 0px;
display: none;
z-index: 900;
top: 100dvh;
}

div#basket .inner{
background-color: white;
padding: 0.5em;
border-top: 16px solid #ddd;
position: absolute;
width: 100%;
bottom: 0px;
}

div#basket .inner .mbar{
    position:absolute;
    text-align:center;
    top: -18px;
    left: 0px;
    height: 16px;
    width: 100%;
    font-size: 12px;
    font-weight: bold;
    z-index: 1000;
}

div#basket .inner .pbar{
    height: 16px;
    position: absolute;
    background-color: #39b7ff;
    left: 0px;
    z-index: 999;
    top: -16px;
}

div.basket-space{
    display: none;
}

div.regressivo{
    padding: 12px;
    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.2);
    font-size: 12pt;
    text-align: center;
    border-radius: 2px;
}

div#modalCarrinho{
    height: 85vh;
    max-height: 85vh;
    overflow-y: hidden;
}

div#basketContainer{
    overflow-y: scroll;
    height: auto;
    bottom: 0px;
    position: absolute;
    top: 140px;
    right: 0px;
    left: 0px;
    margin-bottom: 0px;
}

div#basketHeader{
    right: 0px;
    left: 0px;
    margin-bottom: 0px;
    position: absolute;
}

.rating {
  unicode-bidi: bidi-override;
  direction: rtl;
  display: inline-block;
  cursor: default;
}

.rating > span {
  display: inline-block;
  position: relative;
  width: 1.1em;
  font-size: 18pt;
}
.rating > span:hover:before,
.rating > span:hover ~ span:before,
.rating:not(:hover) > span.sel:before,
.rating:not(:hover) > span.sel ~ span:before{
   color: gold;
   content: "\2605";
   position: absolute;
}

.rating > span:hover,
.rating > span:hover ~ span,
.rating:not(:hover) > span.sel,
.rating:not(:hover) > span.sel ~ span{
    color: transparent;
}

.rating-row{
    padding: 3px;
    border-radius: 2px;
    position: relative;
}

.card-content.produto{
    padding: 15px;
    padding-bottom: 65px;
}

.btn-promo.red div{
    line-height: 22px !important;
}

.btn-info{
    right: 145px !important;
    bottom: 10px !important;
    position: absolute;
    padding: 0px 4px;
    line-height: 34px;
    font-size: 13px;
    height: 45px !important;
}

.btn-pos{
    right: 10px !important;
    bottom: 10px !important;
    position: absolute;
    padding: 0px 4px;
    line-height: 34px;
    font-size: 13px;
    width: 125px;
    height: 45px !important;
    font-weight: bold;
}


button.round-selector{
    border: 1px solid var(--border-unchecked, #9e9e9e);
    margin: 0px 4px;
    border-radius: 6px;
    display: table;
    width: 100%;
    text-align: center;
    background-color: var(--bg-unchecked,transparent);
    color: var(--text-unchecked, #9e9e9e);
}

.round-selector.ehorario{
    line-height: 2.5rem;
}

.round-selector {
    padding: 0.4em !important;
}

.round-selector [type="radio"]+span{
    border: 1px solid var(--border-unchecked, #9e9e9e);
    padding: 4px;
    border-radius: 6px;
    display: table;
    width: 100%;
    text-align: center;
    background-color: var(--bg-unchecked,transparent);
    color: var(--text-unchecked, #9e9e9e);
}

.round-selector [type="radio"]:checked+span{
    border: 1px solid var(--border-checked, #26a69a);
    background-color: var(--bg-checked,#deffde);
    font-weight: bold;
    color: var(--text-checked, black);
    opacity: 100%;
}

.round-selector [type="radio"] + span::before, .round-selector [type="radio"] + span::after{
    display: none !important;
}

#detalheProduto .modal-footer{
    text-align: center !important;
}

nav#header-bar{
    overflow: hidden;
}

.triomphe-gray{
    background-color: #edf2eb !important;
}

.horizontal-scroll{
    white-space: nowrap;
    overflow-x: scroll;
    text-align: center;
    scrollbar-width: none;
}

.horizontal-scroll:after{
    clear: both;
}

.horizontal-scroll div.item{
    display: inline-block !important;
    float: none !important;
    background-color: white;
    border-radius: 6px;
    text-align: center;
    width: 49%;
    margin-left: auto;
}

@media only screen and (min-width: 601px) {
.horizontal-scroll div.item{
    width: 24%;
}
.header-background{
    height: 64px;
}
}

.horizontal-scroll .item .btn-qtd{
    width: 80%;
    margin: 0.5rem 0px;
}

.horizontal-scroll div.item div.line{
    font-weight: bold;
}

.horizontal-scroll div.item img{
    display: inline-block;
    width: 90%;
    height: auto;
}

.btn-help i{
    margin-left: 3px !important;
}

.btn-help i img{
    display: inline-block;
    width: 14px;
    height: auto;
}

button.nh{
    height: initial !important;
}

#sideMenu.sidenav{
    height: 100vh;
}

.rounding{
    padding: 2px;
    border-radius: 3px;
}

span.badge.action-required{
    border-radius: 100%;
    line-height: 30px;
    padding: 0px 0px;
    width: 30px;
    min-width: 0px;
    height: 30px;
    margin-top: calc(24px - 15px);
}

.btn.btn-help {
    padding: 0 6px;
    font-size: 12px;
}

.arrow-scroll-left {
    position: absolute;
    height: 100%;
    left: -25px;
    top: 0px;
    z-index: 2;
}

.arrow-scroll-right {
    position: absolute;
    height: 100%;
    right: 1px;
    top: 0px;
}

.arrow-scroll-right a i, .arrow-scroll-left a i{
    color: #4CAF50;
    text-align: center;
    width: 50px;
}

div.contador.big{
    display: inline-block;
}

div.contador.big:after{
    clear:both;
    display: table;
    content:"";
}

div.contador.big div.val{
    border-radius: 4px;
    float: left;
    font-size: 14pt;
    color: white;
    background-color: black;
    padding: 14px;
    font-weight: bold;
    margin: 2px;
    width: 80px;
}

div.contador.big div.header{
    border-radius: 4px;
    margin: 2px;
    color: white;
    background-color: black;
    font-weight: bold;
    text-align: center;
}

div.contador.big div.val div.line{
    font-size: 8pt;
    font-weight: normal;
}

.info-marker{
    position: absolute;
    right: 4px;
    top: 4px;
}

.linha-produto{
    position: relative;
    margin-bottom: 7px;
    text-align: left;
}

.btn-favorito{
    position: absolute;
    right: 4px;
    top: 4px;
}

a.float-wa{
    position: fixed;
    left: 1rem;
    bottom: 1rem;
    z-index: 920;
}

a.float-wa img{
    position: static;
    display: inline-block;
}

a.float-menu{
    position: fixed;
    left: 1rem;
    bottom: calc( 1rem + 70px );
    z-index: 920;
    border-radius: 3px;
    background-color: #fff;
    padding: 4px;
}


picture.responsive-picture{
    width: 100%;
    height: auto;
}

img.responsive-img.sect-header{
    max-width: 100%;
    width: 100%;
}

button.btn.btn-carrinho{
    background-color: #febd01;
    color: black;
}

table.msg{
    font-size: 10pt;
    color: #444;
}

div.ctrl .preco{
    background-color: #eee;
    padding: 4px;
    text-align: center;
    height: 36px;
    line-height: 30px;
}

div.ctrl.row .col.s6{
    margin-bottom: 6px !important;
}

div .row.ctrl{
    position: relative;
}

.btn-qtd{
    padding: 0px !important;
    width: 100%;
    font-size: 11px;

}

span.badge-promo{
    display: inline-block;
    float: left;
    padding: 2px;
    background-color: #deffde;
    font-size: 8pt;
    border-radius: 4px;
    color: black;
    font-weight: bold;
}

button.btn.btn-mover{
    width: 24px;
    padding: 0px;
}

td.tipo-entrega{
    font-size: 0.6rem;
    position: relative;
}

td.tipo-entrega i.material-icons{
    margin: 0px;
    position: absolute;
    height: 100%;
    left: 4px;
    top: calc(50% - 0.5rem);
    font-size: 0.8rem;
}

td.tipo-entrega b{
    height: 100%;
    display: inline-block;
    padding-left: 0.6rem;
    width: calc(100% - 1rem);
}

a.float-help{
    position: fixed;
    left: 1rem;
    bottom: calc(2rem + 48px);
    z-index: 920;
}

a.float-help img{
    position: static;
    display: inline-block;
}

.input-field .btn-flat.prefix{
    line-height: initial;
    top: 0px;
}

.input-field .btn-flat.prefix i.material-icons{
    font-size: 2rem;
    position: absolute;
    top: 0px;
    left: 0px;
    line-height: 36px;
}

div.col.img-container{
     line-height: 0px;
}

.triomphe-blue-text{
    color: #39b7ff !important;
}

.triomphe-blue{
    background-color: #39b7ff !important;
}

.info-extra{
    font-size: 9pt;
}

div.page-header{
    padding: 1.75rem;
    vertical-align: middle;
    display: table-cell;
    height: 16vh;
    width: 100vw;
    background-color: var(--header-color, #edf2eb) !important;
    color: var(--text-color, #000) !important;
}

div.page-header h4{ display: block; }

#modalQuantidade .modal-content{
    padding: 3px 13px !important;
}

#modalQuantidade .modal-content .row{
    margin-bottom: 3px !important;
}

#modalQuantidade .header, #modalHE .header{
    line-height: 100%;
    vertical-align: middle;
    font-size: 1.5em;
    margin-left: 1em;
}

.btn.link{
    border-radius: 4px;
    border: 1px solid #edf2eb;
    margin-left: 2px;
    margin-right: 2px;
    padding: 0px 4px;
}

.round-1{
    border-radius: 0.5rem;
}


.promo-ribbon {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100px;
  height: 100px;
  overflow: hidden;
  pointer-events: none;
}

.promo-ribbon span {
  display: inline-block;
  width: 150px;
  overflow: hidden;
  padding: 6px 0px;
  text-align: center;
  transform: rotate(-45deg);
  color: #000;
  position: inherit;
  top: 18px;
  left: -45px;
  font: 700 13px "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #ff0;
  border: 2px solid black;
}

.linha-produto .titulo{
    width: calc(100% - 55px);
    left: 55px;
    position: relative;
}

.linha-produto .ctrl .v_int{
    font-size: 16pt;
}

.linha-produto .ctrl .v_frac{
    font-size: 9pt;
    position: relative;
    top: -6px;
}

.brand-logo img{
    max-width: calc(100vw - 200px);
}

.brand-logo.auto-pos{
    margin-top: 4px;
    float: left;
    left: auto;
    transform: none;
}

@media only screen and (min-width: 601px) {
.brand-logo.auto-pos{
    float: none;
    left: 50%;
    transform: translateX(-50%);
}
}

#nivel-semanal{
    float:right;
    background-image: url(/icons/heart.png);
    width: 45px;
    height: 40px;
    text-align: center;
    margin: calc((64px - 40px)/2) 3px;
}

#nivel-semanal span{
    font-size: 14pt;
    top: -30%;
    position: relative;
}

.tag-tipo{
    padding: 4pt;
    border-radius: 0.3rem;
}

div.btn-horario{
    display: inline-grid;
    width: 100%;
    border: 4px solid #e5e5ed;
    border-radius: 6px;
    color: white;
    position: relative;
    grid-template-rows: 0fr;
    max-width: 400px;
}

div.btn-horario h5{
    text-decoration: underline;

}

.btn-horario .contador .header-line{
    border-radius: 4px;
    background-color: black;
    display: inline-block;
    margin-bottom: 3px;
    width: 85%;
    padding: 3px;
    margin-left: 0.5%;
    margin-right: 0.5%;
}
.btn-horario .contador .val{
    border-radius: 4px;
    background-color: black;
    display: inline-block;
    padding: 3px;
    font-size: 12px;
    margin-left: 0.5%;
    margin-right: 0.5%;
    width: calc(85% / 3 - 1%);
}

div.btn-horario a.btn{
    margin: 1rem;
}

#formas-pagamento{
    height: 21vh;
    border-top: 1vh solid #e5e5ed;
    border-bottom: 1vh solid #e5e5ed;
}

.class-black{
    --header-color: #000;
    --text-color: #a0a0a0;
}

.class-ouro{
    --header-color: #9B7E35;
    --text-color: #f9d680;
}

.class-prata{
    --header-color: #A6A6A6;
    --text-color: #2b2b2b;
}

.class-bronze{
    --header-color: #64552F;
    --text-color: #bdab7d;
}


#header-bar .nav-wrapper{
    background-color: var(--header-color, #edf2eb) !important;
    color: var(--text-color, #000) !important;
}

#header-bar .nav-wrapper i{
    color: var(--text-color, #000) !important;
}

#header-bar .nav-wrapper a{
    color: var(--text-color, #000) !important;
}

#menu-trigger{
    margin: 0px;
}

.search-bar{
    background-color: var(--header-color, #edf2eb) !important;
}

.header-estabelecimento{
    padding-top: 1rem;
    background-color: var(--header-color, #edf2eb) !important;
    color: var(--text-color, #000) !important;
    vertical-align: middle;
}

.header-estabelecimento span{
    font-size: 1.34rem;
    line-height: 110%;
    position: relative;
    top: calc(1.34rem / 2 - 16px );
}



.cartao-salvo {
    padding: 0.4em !important;
    transition: none !important;
}

.cartao-salvo img{
    display: inline-block;
    opacity: 0.5;
}

.cartao-salvo [type="radio"]+span{
    border: 1px solid var(--border-unchecked, #9e9e9e);
    padding: 4px;
    border-radius: 6px;
    display: table;
    width: 100%;
    text-align: center;
    background-color: transparent;
    color: #9e9e9e;
    transition: none !important;
}

.cartao-salvo [type="radio"]:checked+span{
    border: 2px solid #5a5a5a;
    font-weight: bold;
    color: var(--text-checked, black);
    opacity: 100%;
    padding: 3px;
    transition: none !important;
}

.cartao-salvo [type="radio"] + span::before, .cartao-salvo [type="radio"] + span::after{
    display: none !important;
    transition: none !important;
}

.cartao-salvo [type="radio"]:checked+span img{
    opacity: 1;
}

.stages {
    display: flex;
    /*   align-items: center; */
    justify-content: center;
    direction: rtl;
    text-align: center;
}

.stages .step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0 -0.5rem;
}

.stages .step-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.stages .step-container .label {
    font-size: 12px;
    line-height: 16px;
    font-weight: bold;
    height: 32px;
}

.stages .circle {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 2px solid #ccc;
    margin-bottom: 8px;
}

.stages .line {
    flex: 1;
    height: 2px;
    background-color: #ccc;
    position: relative;
    top: 9px;
}

.stages .step.active .circle{
    background-color: #39b7ff;
    border-color: #39b7ff;
}

.stages .step.done .circle {
    background-color: #4CAF50;
    border-color: #4CAF50;
}

.stages .step.active ~ .line{
    background-color: #39b7ff;
}

.stages .step.done ~ .line {
    background-color: #4CAF50;
}

.stages .step.done:last-child .line:before {
    width: 100%;
}

#chave_pix{
max-width: 95%;
padding: 0.5rem;
border-radius: 4px;
background-color: lightgrey;
display: inline-block;
margin-bottom: 0px;
}


#tagsContainer.open  .tag{
    opacity: 0.25;
}

#tagsContainer.open .tag.select{
    opacity: 1 !important;
}

.foto-sazonal{
    border-radius: 0.5em;
    border: 0.25em solid green;
    padding: 0.1em;
}

.modal.open:has(.expanded-modal) {
    max-height: 90% !important;
}

.btn-carrinho .warn {
    background-color: red;
    border-radius: 8px;
    color: white;
    height: 6px;
    width: 6px;
    position: absolute;
    top: 3px;
    right: 3px;
    display: none;
}

.btn-carrinho.err .warn{
    display: block;
}
