:root {
  color-scheme: dark;
}

body.public-front {
  --front-bg: #080808;
  --front-surface: #151515;
  --front-surface-strong: #1d1d1d;
  --front-border: #353535;
  --front-text: #ffffff;
  --front-muted: #b8b8b8;
  --front-accent: #ffbc14;
  --front-success: #39d98a;
  background: var(--front-bg) !important;
  color: var(--front-text) !important;
}

body.public-front,
body.public-front .main-container,
body.public-front main,
body.public-front section,
body.public-front .white-bg,
body.public-front .grey-bg,
body.public-front .sections__wrapper,
body.public-front .brand-product,
body.public-front .container-fluid:not(.site-header .container-fluid) {
  background-color: var(--front-bg) !important;
}

body.public-front :where(h1, h2, h3, h4, h5, h6, p, span, label, legend, strong, b, small, li, dt, dd, th, td) {
  color: inherit;
}

body.public-front a,
body.public-front .navbar-brand,
body.public-front .navbar-brand span {
  color: var(--front-text) !important;
}

body.public-front a:hover,
body.public-front a:focus-visible {
  color: var(--front-accent) !important;
}

body.public-front .text-muted,
body.public-front .text-body,
body.public-front .subtitulo_itens,
body.public-front .descricao-item,
body.public-front .conteudo-descricao-item,
body.public-front .payment-copy small,
body.public-front .payment-detail-header small {
  color: var(--front-muted) !important;
}

body.public-front .titulo_icones,
body.public-front .subtitulo_icones {
  color: var(--front-text) !important;
}

body.public-front [style*="color:#000"],
body.public-front [style*="color: #000"],
body.public-front [style*="color:#111"],
body.public-front [style*="color: #111"],
body.public-front [style*="color:#181818"],
body.public-front [style*="color: #181818"],
body.public-front [style*="color:#24304f"],
body.public-front [style*="color: #24304f"],
body.public-front [style*="color:#474747"],
body.public-front [style*="color: #474747"] {
  color: var(--front-text) !important;
}

body.public-front [style*="color:#555"],
body.public-front [style*="color: #555"],
body.public-front [style*="color:#6b7280"],
body.public-front [style*="color: #6b7280"],
body.public-front [style*="color:#888"],
body.public-front [style*="color: #888"],
body.public-front [style*="color:#939393"],
body.public-front [style*="color: #939393"],
body.public-front [style*="color:#adadad"],
body.public-front [style*="color: #adadad"] {
  color: var(--front-muted) !important;
}

body.public-front .navbar,
body.public-front .navbar.bg-light,
body.public-front .site-header,
body.public-front header {
  background: #101010 !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
}

body.public-front .category__item,
body.public-front .tpbrandproduct__item,
body.public-front .tpproduct__item,
body.public-front .card,
body.public-front .card-body,
body.public-front .list-group-item,
body.public-front .modal-content,
body.public-front .dropdown-menu,
body.public-front .offcanvas,
body.public-front .overlay,
body.public-front .overlay2,
body.public-front .destaque,
body.public-front .destaque-qtd,
body.public-front .total-pedido,
body.public-front .pedido-home-card,
body.public-front .pedido-return-link,
body.public-front .checkout-card,
body.public-front .payment-detail {
  background: var(--front-surface) !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.42) !important;
}

body.public-front .category__item *,
body.public-front .tpbrandproduct__item *,
body.public-front .tpproduct__item *,
body.public-front .list-group-item *,
body.public-front .pedido-home-card * {
  color: var(--front-text) !important;
}

body.public-front .category__item p,
body.public-front .tpbrandproduct__item .subtitulo_itens,
body.public-front .tpproduct__item .subtitulo_itens,
body.public-front .pedido-home-card span {
  color: var(--front-muted) !important;
}

body.public-front .accordion,
body.public-front .accordion-item,
body.public-front .accordion-collapse,
body.public-front .accordion-body,
body.public-front .accordion-button {
  background: var(--front-surface) !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
}

body.public-front .accordion-button:not(.collapsed) {
  background: var(--front-surface-strong) !important;
  color: var(--front-accent) !important;
  box-shadow: inset 0 -1px 0 var(--front-border) !important;
}

body.public-front .accordion-button::after {
  filter: invert(1) grayscale(1) brightness(2);
}

body.public-front input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.public-front textarea,
body.public-front select,
body.public-front .form-control,
body.public-front .form-select,
body.public-front .input,
body.public-front .nice-select {
  background-color: #111111 !important;
  border-color: #464646 !important;
  color: var(--front-text) !important;
}

body.public-front input::placeholder,
body.public-front textarea::placeholder {
  color: #9c9c9c !important;
  opacity: 1;
}

body.public-front input:focus,
body.public-front textarea:focus,
body.public-front select:focus,
body.public-front .form-control:focus,
body.public-front .form-select:focus {
  border-color: var(--front-accent) !important;
  box-shadow: 0 0 0 3px rgba(255, 188, 20, 0.18) !important;
}

body.public-front option,
body.public-front .nice-select .list,
body.public-front .nice-select .option {
  background: #111111 !important;
  color: var(--front-text) !important;
}

body.public-front input[type="checkbox"],
body.public-front input[type="radio"] {
  accent-color: var(--front-accent);
}

body.public-front .payment-choice-grid {
  color: var(--front-text);
}

body.public-front .payment-option,
body.public-front .payment-icon,
body.public-front .payment-detail-icon {
  background: var(--front-surface-strong) !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
}

body.public-front .payment-option.is-selected {
  background: #322800 !important;
  border-color: var(--front-accent) !important;
}

body.public-front .payment-option.is-selected .payment-icon {
  background: var(--front-accent) !important;
  color: #111111 !important;
}

body.public-front .payment-copy strong,
body.public-front .payment-detail-header b,
body.public-front .checkout-card-title,
body.public-front .payment-panel-title {
  color: var(--front-text) !important;
}

body.public-front .pizza-size-grid,
body.public-front .pizza-edge-grid {
  background: var(--front-surface) !important;
  border-color: var(--front-border) !important;
}

body.public-front .pizza-size-name,
body.public-front .pizza-edge-name {
  color: var(--front-text) !important;
}

body.public-front .pizza-size-detail,
body.public-front .pizza-size-flavors,
body.public-front .pizza-edge-price {
  color: var(--front-muted) !important;
}

body.public-front .pizza-size-option.is-selected .pizza-size-bubble,
body.public-front .pizza-size-option:has(.pizza-size-input:checked) .pizza-size-bubble,
body.public-front .pizza-edge-option.is-selected .pizza-edge-bubble,
body.public-front .pizza-edge-option:has(.pizza-edge-input:checked) .pizza-edge-bubble {
  color: #111111 !important;
}

body.public-front .pedido-status-page,
body.public-front.pedido-status-page {
  background: var(--front-bg) !important;
  color: var(--front-text) !important;
  overflow-x: hidden;
}

body.public-front .pedido-home-button {
  background: #16a34a !important;
  color: #ffffff !important;
}

body.public-front .pedido-payment-summary {
  background: var(--front-surface) !important;
  border: 1px solid var(--front-border);
  color: var(--front-text) !important;
  margin: 14px 0;
  padding: 14px;
}

body.public-front .pedido-items-title {
  background: #222222 !important;
  border: 1px solid #454545;
  color: var(--front-text) !important;
  font-size: 13px;
  font-weight: 700;
  margin: 0 0 10px;
  padding: 8px 12px;
  text-align: left;
}

body.public-front .pedido-items-list {
  background: var(--front-surface) !important;
  border: 1px solid var(--front-border);
  color: var(--front-text) !important;
  margin: 0;
  padding: 8px 12px;
}

body.public-front #listar_st {
  margin-top: 16px !important;
}

body.public-front .order-status-list {
  display: grid;
  gap: 8px;
}

body.public-front .order-status-step {
  align-items: center;
  background: #171717;
  border: 1px solid #383838;
  border-left: 4px solid #6a6a6a;
  color: var(--front-muted);
  display: flex;
  min-height: 46px;
  padding: 8px 14px;
}

body.public-front .order-status-step.is-complete {
  background: #10241a;
  border-color: #245f43;
  border-left-color: var(--front-success);
  color: var(--front-text);
}

body.public-front .order-status-step.is-current {
  box-shadow: 0 0 0 2px rgba(57, 217, 138, 0.18), 0 8px 22px rgba(0, 0, 0, 0.32);
}

body.public-front .order-status-icon {
  align-items: center;
  display: inline-flex;
  flex: 0 0 28px;
  justify-content: center;
  margin-right: 10px;
}

body.public-front .order-status-icon img {
  display: block;
  height: 20px;
  width: 20px;
}

body.public-front .order-status-label {
  color: inherit !important;
  font-size: 14px;
  font-weight: 700;
}

body.public-front table,
body.public-front .table {
  color: var(--front-text) !important;
  border-color: var(--front-border) !important;
}

body.public-front .table > :not(caption) > * > * {
  background: var(--front-surface) !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
}

body.public-front hr {
  border-color: #4a4a4a !important;
  opacity: 1;
}

body.public-front .titulo-itens,
body.public-front .titulo-itens-pizza,
body.public-front .btn-warning {
  background: var(--front-accent) !important;
  border-color: var(--front-accent) !important;
  color: #111111 !important;
}

body.public-front .titulo-itens *,
body.public-front .titulo-itens-pizza *,
body.public-front .btn-warning * {
  color: #111111 !important;
}

body.public-front .titulo-itens-2,
body.public-front .rodape {
  background: var(--front-surface-strong) !important;
  border-color: var(--front-border) !important;
  color: var(--front-text) !important;
}

body.public-front .valor-item,
body.public-front .valor-item-maior,
body.public-front .tpproduct__price span,
body.public-front .text-success {
  color: var(--front-success) !important;
}

body.public-front .btn-light,
body.public-front .btn-outline-dark {
  background: var(--front-surface-strong) !important;
  border-color: #565656 !important;
  color: var(--front-text) !important;
}

body.public-front .btn-close {
  filter: invert(1) grayscale(1) brightness(2);
}

body.public-front .tpcartinfo {
  background: #151515 !important;
  border-left: 1px solid rgba(255, 188, 20, 0.58);
  box-shadow: -18px 0 48px rgba(0, 0, 0, 0.72) !important;
  color: var(--front-text) !important;
  width: min(400px, 92vw);
}

body.public-front .tpcart {
  background: #151515 !important;
}

body.public-front .tpcart__title {
  background: #202020 !important;
  border-bottom: 1px solid var(--front-border);
  color: var(--front-text) !important;
  margin-bottom: 0;
  padding: 18px 30px;
}

body.public-front .tpcart__close {
  align-items: center;
  background: #292929 !important;
  border: 1px solid #4b4b4b;
  color: var(--front-accent) !important;
  display: inline-flex;
  justify-content: center;
  top: 10px;
}

body.public-front .tpcart__close:hover,
body.public-front .tpcart__close:focus-visible {
  background: var(--front-accent) !important;
  border-color: var(--front-accent);
  color: #111111 !important;
}

body.public-front .tpcart__product {
  background: #151515 !important;
  padding: 0 28px;
}

body.public-front .tpcart__product-list {
  color: var(--front-text) !important;
  padding-top: 8px;
}

body.public-front .tpcart ul li {
  border-bottom-color: var(--front-border) !important;
}

body.public-front .tpcart__item,
body.public-front .tpcart__content,
body.public-front .tpcart__content-title,
body.public-front .tpcart__content-title b,
body.public-front .tpcart__cart-price,
body.public-front .tpcart__cart-price .quantity,
body.public-front .tpcart__total-price,
body.public-front .tpcart__total-price span {
  color: var(--front-text) !important;
}

body.public-front .tpcart__img img {
  background: #242424;
  border: 1px solid #414141;
  border-radius: 6px;
}

body.public-front .tpcart__cart-price .text-success,
body.public-front .tpcart__total-price .heilight-price,
body.public-front .tpcart__total-price .heilight-price span {
  color: var(--front-success) !important;
}

body.public-front .tpcart__checkout {
  background: #1b1b1b;
  border: 1px solid var(--front-border);
  padding: 18px;
}

body.public-front .tpcart__total-price {
  border-top: 0 !important;
  margin-bottom: 18px;
  padding-top: 0;
}

body.public-front .tpcart__checkout-btn .tpcheck-btn {
  background: var(--front-accent) !important;
  border: 1px solid var(--front-accent) !important;
  color: #111111 !important;
}

body.public-front .tpcart__checkout-btn .tpcheck-btn:hover,
body.public-front .tpcart__checkout-btn .tpcheck-btn:focus-visible {
  background: #ffd15c !important;
  border-color: #ffd15c !important;
  color: #111111 !important;
}

body.public-front .cartbody-overlay {
  backdrop-filter: blur(2px);
  background: rgba(0, 0, 0, 0.62) !important;
  z-index: 9999998;
}

body.public-front #listar-itens-carrinho {
  background: var(--front-bg) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 8px;
}

body.public-front #listar-itens-carrinho .list-group-item {
  background: var(--front-surface) !important;
  border: 1px solid var(--front-border) !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.38) !important;
  color: var(--front-text) !important;
  padding: 12px 16px;
}

body.public-front #listar-itens-carrinho .list-group-item > img {
  background: #252525;
  border: 1px solid #444444;
  border-radius: 5px;
  margin-right: 5px;
}

body.public-front #listar-itens-carrinho .nome-produto,
body.public-front #listar-itens-carrinho .nome-produto *,
body.public-front #listar-itens-carrinho .link-neutro {
  color: var(--front-text) !important;
}

body.public-front #listar-itens-carrinho .carrinho-qtd {
  align-items: center;
  background: #202020 !important;
  border: 1px solid #393939;
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
  min-height: 52px;
  padding: 9px;
}

body.public-front #listar-itens-carrinho .itens-carrinho-qtd,
body.public-front #listar-itens-carrinho .itens-carrinho-qtd-adc {
  color: var(--front-text) !important;
  top: auto;
}

body.public-front #listar-itens-carrinho .itens-carrinho-qtd-adc + .itens-carrinho-qtd-adc {
  left: 128px;
}

body.public-front #listar-itens-carrinho .menos-mais,
body.public-front #listar-itens-carrinho .qtd-item-carrinho,
body.public-front #listar-itens-carrinho .valor-carrinho-it {
  align-items: center;
  border: 1px solid #494949;
  color: var(--front-text) !important;
  display: inline-flex;
  justify-content: center;
}

body.public-front #listar-itens-carrinho .menos-mais {
  background: #303030 !important;
  color: var(--front-accent) !important;
  font-weight: 800;
}

body.public-front #listar-itens-carrinho a:hover .menos-mais,
body.public-front #listar-itens-carrinho a:focus-visible .menos-mais {
  background: var(--front-accent) !important;
  border-color: var(--front-accent);
  color: #111111 !important;
}

body.public-front #listar-itens-carrinho .qtd-item-carrinho {
  background: #101010 !important;
}

body.public-front #listar-itens-carrinho .valor-carrinho-it {
  background: #171717 !important;
  color: var(--front-success) !important;
}

body.public-front #listar-itens-carrinho .valor-carrinho-it * {
  color: var(--front-success) !important;
}

body.public-front #listar-itens-carrinho .overlay-excluir {
  background: #2b1717 !important;
  border: 1px solid #7f3030;
  color: var(--front-text) !important;
}

body.public-front .swal2-popup {
  background: var(--front-surface) !important;
  color: var(--front-text) !important;
}

body.public-front .swal2-title,
body.public-front .swal2-html-container {
  color: var(--front-text) !important;
}

body.public-front .pizza-swal-popup {
  background: #181818 !important;
  border: 1px solid #4a4a4a;
  border-top: 4px solid var(--front-accent);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.68) !important;
  color: var(--front-text) !important;
  padding: 22px;
}

body.public-front .pizza-swal-popup .swal2-title {
  color: var(--front-text) !important;
  font-size: 22px;
  letter-spacing: 0;
}

body.public-front .pizza-swal-popup .swal2-html-container {
  color: var(--front-muted) !important;
  font-size: 15px;
  line-height: 1.5;
}

body.public-front .pizza-swal-confirm {
  background: var(--front-accent) !important;
  border: 0;
  color: #111111 !important;
  font-weight: 800;
  min-width: 130px;
  padding: 11px 22px;
}

body.public-front .pizza-swal-confirm:hover,
body.public-front .pizza-swal-confirm:focus-visible {
  background: #ffd15c !important;
  box-shadow: 0 0 0 4px rgba(255, 188, 20, 0.2);
}

body.public-front [style*="background: #fff"],
body.public-front [style*="background:#fff"],
body.public-front [style*="background: #f2f2f2"],
body.public-front [style*="background:#f2f2f2"],
body.public-front [style*="background: #f5f5f5"],
body.public-front [style*="background:#f5f5f5"] {
  background: var(--front-surface) !important;
}

body.public-front ::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

body.public-front ::-webkit-scrollbar-track {
  background: #0b0b0b;
}

body.public-front ::-webkit-scrollbar-thumb {
  background: #454545;
  border: 2px solid #0b0b0b;
}

@media (max-width: 760px) {
  body.public-front .payment-choice-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.public-front .nav.nav-pills {
    box-sizing: border-box;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 100vw;
    padding-left: 8px;
    padding-right: 8px;
    width: 100vw !important;
  }

  body.public-front .tab-class {
    margin-left: calc(50% - 50vw);
    max-width: 100vw;
    overflow: hidden;
    width: 100vw;
  }

  body.public-front .nav.nav-pills .nav-item {
    min-width: 0;
    width: auto !important;
  }

  body.public-front .nav.nav-pills .nav-item > a {
    gap: 4px;
    justify-content: center;
    margin-left: 0 !important;
    margin-right: 0 !important;
    min-width: 0;
    padding-left: 2px;
    padding-right: 2px;
  }

  body.public-front .nav.nav-pills .icone_mobile {
    flex: 0 0 34px;
    height: 34px;
    width: 34px;
  }

  body.public-front .nav.nav-pills .ps-1 {
    min-width: 0;
    padding-left: 0 !important;
  }

  body.public-front .titulo_icones,
  body.public-front .subtitulo_icones {
    display: block;
    font-size: 10px !important;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
}
