/* ==========================================================================
   VARIÁVEIS GLOBAIS
   ========================================================================== */
:root {
  --cor-primaria:        #482418;
  --cor-primaria-hover:  #2c1a0e;
  --cor-acento:          #a65317;
  --cor-acento-hover:    #9e4c12;
  --cor-dourado:         #EF9F27;
  --cor-dourado-claro:   #FAC775;

  --cor-bg-principal:    #fafafa;
  --cor-bg-cardapio:     #ebe6d4;
  --cor-bg-card:         #ffffff;
  --cor-bg-muted:        #fdf6ee;
  --cor-bg-secao:        #fdf9f5;

  --cor-texto-principal: #2c1a0e;
  --cor-texto-medio:     #4a3728;
  --cor-texto-muted:     #6b5744;
  --cor-texto-suave:     #6f5642;

  --cor-borda-suave:     rgba(0,0,0,0.08);
  --cor-borda-media:     rgba(0,0,0,0.15);
  --cor-borda-acento:    #e8c9a8;

  --cor-sucesso:         #3B6D11;
  --cor-sucesso-bg:      #eaf3de;
  --cor-erro:            #d32f2f;
  --cor-erro-bg:         #fff3f3;
  --cor-aviso-bg:        #fff3cd;

  --raio-sm:   8px;
  --raio-md:   12px;
  --raio-lg:   16px;
  --raio-pill: 50px;

  --sombra-sm: 0 4px 12px rgba(0,0,0,0.08);
  --sombra-lg: 0 12px 24px rgba(0,0,0,0.15);
  --transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Novo topo de navegacao protegido pela feature new_navbartop. */
.site-header--new-navbartop .site-nav.navbar {
  min-height: 126px !important;
  height: auto !important;
  border-bottom: 0 !important;
  background: var(--cor-primaria) !important;
  box-shadow: 0 10px 24px rgba(43, 24, 16, .16) !important;
  backdrop-filter: none;
}

.site-header--new-navbartop .site-nav .navbar-inner-wrap {
  min-height: 66px !important;
}

.site-header--new-navbartop .app-menu-toggle--leading {
  flex: 0 0 auto;
  margin-right: 12px;
}

.site-header--new-navbartop .app-menu-toggle__bar {
  background: #fffaf2 !important;
}

.site-header--new-navbartop .site-nav .navbar-brand {
  color: #fffaf2 !important;
  font-family: 'Inter', sans-serif;
  font-weight: 900;
}

.site-header--new-navbartop .navbar-action-icon-btn,
.site-header--new-navbartop .navbar-cart-icon-btn--mobile,
.site-header--new-navbartop .app-menu-toggle {
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header--new-navbartop .navbar-action-icon-btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 10px;
  text-decoration: none;
}

.site-header--new-navbartop .navbar-action-icon-btn:hover,
.site-header--new-navbartop .navbar-action-icon-btn.active {
  color: var(--cor-dourado-claro) !important;
  background: rgba(255, 255, 255, .08) !important;
}

.site-header--new-navbartop .navbar-top-search {
  width: 100%;
  padding: 0 clamp(18px, 4vw, 44px) 14px;
  background: var(--cor-primaria);
}

.site-header--new-navbartop .navbar-search-mobile--top {
  width: min(720px, calc(100% - 48px));
  margin: 0 auto;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
  width: 100%;
  min-height: 54px;
  padding: 12px 52px 12px 56px;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: var(--cor-texto-principal);
  font-family: 'Inter', sans-serif;
  font-size: 19px;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(43, 24, 16, .16);
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile::placeholder {
  color: var(--cor-texto-suave);
}

.site-header--new-navbartop .navbar-search-mobile--top svg {
  right: auto;
  left: 20px;
  color: var(--cor-acento);
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile {
  top: calc(100% + 18px);
  width: 100%;
  max-height: min(520px, calc(100dvh - 126px));
  overflow-y: auto;
  border: 1px solid rgba(72, 36, 24, .11);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 18px 44px rgba(45, 22, 15, .15);
}

.site-header--new-navbartop .navbar-search-results--trending {
  padding-bottom: 18px;
}

.site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
  padding: 28px 38px 18px;
  border-bottom: 0;
  background: #fff;
  color: var(--cor-texto-medio);
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}

.site-header--new-navbartop .navbar-search-trending-list {
  display: grid;
  gap: 0;
  padding: 0 38px;
}

.site-header--new-navbartop .navbar-search-trending {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  width: 100%;
  min-height: 80px;
  padding: 8px 0;
  border: 0 !important;
  border-radius: 0;
  background: #fff;
  color: var(--cor-texto-medio);
  font-family: 'Inter', sans-serif;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.2;
  text-align: left;
  white-space: normal;
}

.site-header--new-navbartop .navbar-search-trending:hover,
.site-header--new-navbartop .navbar-search-trending:focus {
  background: var(--cor-bg-muted);
  color: var(--cor-texto-principal);
  outline: none;
}

.site-header--new-navbartop .navbar-search-trending span {
  color: var(--cor-acento);
  font-size: 21px;
  font-weight: 850;
}

.site-header--new-navbartop .navbar-search-trending strong {
  overflow-wrap: anywhere;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

@media (max-width: 991.98px) {
  body:has(.site-header--new-navbartop) {
    padding-top: 126px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 16px !important;
    gap: 10px;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 0;
    overflow: hidden;
    font-size: 16px;
    line-height: 1;
    text-overflow: ellipsis;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    flex: 0 0 auto;
    width: 100% !important;
    height: 38px !important;
    margin-right: 8px !important;
    object-fit: contain;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    flex: 0 0 auto;
    gap: 8px !important;
    margin-left: 0 !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile,
  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .app-menu-toggle {
    width: 38px !important;
    height: 40px !important;
    padding: 0 !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile svg,
  .site-header--new-navbartop .navbar-action-icon-btn svg {
    width: 29px !important;
    height: 29px !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 126px !important;
    max-height: calc(100dvh - 126px) !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 16px 14px 64px;
  }

  .site-header--new-navbartop .navbar-search-mobile--top {
    width: 100%;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile {
    max-height: min(760px, calc(100dvh - 126px));
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results--trending {
    position: fixed;
    top: 126px;
    right: 0;
    left: 0;
    width: 100vw;
    max-height: calc(100dvh - 126px);
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media (max-width: 575.98px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 136px !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 136px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 14px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 36px !important;
    height: 36px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 14px 14px 60px;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
    min-height: 56px;
    padding: 12px 48px 12px 52px;
    font-size: 17px;
  }

  .site-header--new-navbartop .navbar-search-mobile--top svg {
    left: 18px;
    width: 25px;
    height: 25px;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 136px !important;
    max-height: calc(100dvh - 136px) !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results--trending {
    top: 136px;
    max-height: calc(100dvh - 136px);
  }

  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding: 26px 30px 16px;
    font-size: 27px;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding: 0 30px;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 56px minmax(0, 1fr);
    min-height: 80px;
    font-size: 28px;
  }
}

@media (max-width: 374px) {
  .site-header--new-navbartop .site-nav .navbar-brand {
    font-size: 14px;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 32px !important;
    height: 32px !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile,
  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .app-menu-toggle {
    width: 32px !important;
    height: 36px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    padding-inline: 10px !important;
    gap: 4px;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    gap: 4px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding-left: 50px;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
    min-height: 50px;
    padding: 11px 42px 11px 46px;
    font-size: 15px;
  }

  .site-header--new-navbartop .navbar-search-mobile--top svg {
    left: 18px;
    width: 22px;
    height: 22px;
  }

  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding-inline: 22px;
    font-size: 23px;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding-inline: 22px;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 46px minmax(0, 1fr);
    min-height: 66px;
    font-size: 23px;
  }

  .site-header--new-navbartop .navbar-search-trending span {
    font-size: 18px;
  }
}

.chef-stories {
  background: #fffaf2;
  border-bottom: 1px solid rgba(72, 36, 24, .08);
  padding: 28px 0 24px;
}

.chef-stories__head {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.chef-stories__kicker {
  color: #b85a1d;
  display: block;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.chef-stories h2 {
  color: #2d160f;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1;
  margin: 4px 0 0;
}

.chef-stories__rail {
  display: grid;
  gap: 14px;
  grid-auto-columns: 96px;
  grid-auto-flow: column;
  overflow-x: auto;
  padding: 4px 2px 8px;
  scrollbar-width: none;
}

.chef-stories__rail::-webkit-scrollbar {
  display: none;
}

.chef-stories__rail .home-highlight-logo {
  align-self: start;
  justify-self: center;
}

.chef-story {
  background: transparent;
  border: 0;
  color: #2d160f;
  display: grid;
  gap: 8px;
  padding: 0;
  text-align: center;
  width: 96px;
}

.chef-story__ring {
  align-items: center;
  background: linear-gradient(135deg, #d63384, #f59f00 52%, #5a2f1d);
  border-radius: 999px;
  display: flex;
  height: 96px;
  justify-content: center;
  overflow: hidden;
  padding: 3px;
  position: relative;
  width: 96px;
}

.chef-story__ring img,
.chef-story__ring video {
  background: #f3e5d5;
  border: 3px solid #fffaf2;
  border-radius: 999px;
  height: 90px;
  object-fit: cover;
  width: 90px;
}

.chef-story__play {
  align-items: center;
  background: rgba(45, 22, 15, .74);
  border-radius: 999px;
  color: #fff;
  display: flex;
  font-size: 16px;
  height: 34px;
  justify-content: center;
  left: 50%;
  line-height: 1;
  padding-left: 2px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 34px;
}

.chef-story__count {
  align-items: center;
  background: #fffaf2;
  border: 2px solid #fff;
  border-radius: 999px;
  bottom: 2px;
  box-shadow: 0 4px 10px rgba(45, 22, 15, .22);
  color: #5a2f1d;
  display: flex;
  font-size: 11px;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  line-height: 1;
  min-width: 26px;
  padding: 0 7px;
  position: absolute;
  right: 2px;
}

.chef-story__label {
  display: block;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.15;
  min-height: 28px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chef-stories__notice {
  background: #fff;
  border: 1px solid rgba(184, 90, 29, .22);
  border-radius: 8px;
  color: #5a2f1d;
  margin-bottom: 14px;
  padding: 12px 14px;
}

.chef-stories__notice--error {
  border-color: rgba(198, 40, 40, .24);
  color: #a31d1d;
}

.smart-random-cart-entry {
  align-items: center;
  background: #fffaf2;
  border: 1px solid rgba(181, 101, 29, .18);
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(45, 22, 15, .05);
  color: #4f2c1f;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin: 18px 0;
  padding: 14px 16px;
}

.smart-random-cart-entry strong {
  color: #2d160f;
  display: block;
  font-size: 15px;
  font-weight: 900;
}

.smart-random-cart-entry span {
  display: block;
  font-size: 13px;
  line-height: 1.35;
}

.smart-random-cart-entry__button,
.smart-random-modal__primary,
.smart-random-modal__secondary,
.smart-random-modal__modes button {
  border-radius: 8px;
  font-weight: 900;
  letter-spacing: 0;
}

.smart-random-cart-entry__button {
  background: #4b2618;
  border: 0;
  color: #fff;
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 18px;
}

.smart-random-home-fab {
  align-items: center;
  background: #4b2618;
  border: 0;
  border-radius: 999px;
  bottom: calc(20px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 8px 24px rgba(45, 22, 15, .28);
  color: #fff;
  display: inline-flex;
  font-size: 14px;
  font-weight: 900;
  gap: 9px;
  justify-content: center;
  min-height: 52px;
  padding: 0 20px;
  position: fixed;
  right: max(20px, env(safe-area-inset-right, 0px));
  z-index: 1110;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, background-color .2s ease;
}

.smart-random-home-fab.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.smart-random-home-fab:hover,
.smart-random-home-fab:focus-visible {
  background: #613522;
  color: #fff;
}

.smart-random-home-fab:focus-visible {
  outline: 3px solid #e9bd8f;
  outline-offset: 3px;
}

.smart-random-home-fab__icon {
  font-size: 19px;
  line-height: 1;
}

.smart-random-modal {
  align-items: flex-end;
  background: rgba(26, 10, 0, .52);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 18px;
  position: fixed;
  z-index: 1100;
}

.smart-random-modal[hidden] {
  display: none;
}

.smart-random-modal-open {
  overflow: hidden;
}

.smart-random-modal__panel {
  background: #fffaf4;
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(26, 10, 0, .26);
  color: #35190f;
  max-width: 480px;
  padding: 24px;
  position: relative;
  width: min(100%, 480px);
}

.smart-random-modal__close {
  align-items: center;
  background: transparent;
  border: 0;
  color: #6b4b3f;
  display: inline-flex;
  font-size: 22px;
  height: 36px;
  justify-content: center;
  position: absolute;
  right: 12px;
  top: 12px;
  width: 36px;
}

.smart-random-modal__kicker {
  color: #b7651d;
  display: block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.smart-random-modal h2 {
  color: #1f0f09;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0 32px 16px 0;
}

.smart-random-modal__modes {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 6px;
  scrollbar-width: none;
}

.smart-random-modal__modes::-webkit-scrollbar {
  display: none;
}

.smart-random-modal__modes button {
  background: #fff;
  border: 1px solid rgba(181, 101, 29, .22);
  color: #6a3824;
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 12px;
}

.smart-random-modal__modes button.is-active {
  background: #4b2618;
  border-color: #4b2618;
  color: #fff;
}

.smart-random-modal__result {
  margin-top: 14px;
}

.smart-random-modal__summary {
  align-items: center;
  background: #fff2d9;
  border: 1px solid #efd1a0;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  padding: 12px 14px;
}

.smart-random-modal__summary strong,
.smart-random-modal__summary span {
  font-size: 16px;
  font-weight: 900;
}

.smart-random-modal__items {
  display: grid;
  gap: 8px;
  list-style: none;
  margin: 12px 0 0;
  padding: 0;
}

.smart-random-modal__items li {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: 44px 1fr;
  padding: 8px;
}

.smart-random-modal__items img {
  aspect-ratio: 1;
  background: #f3e5d5;
  border-radius: 8px;
  object-fit: cover;
  width: 44px;
}

.smart-random-modal__items span {
  font-size: 14px;
  font-weight: 800;
}

.smart-random-modal__empty {
  background: #fff;
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 8px;
  margin: 0;
  padding: 14px;
}

.smart-random-modal__actions {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr 1.2fr;
  margin-top: 16px;
}

.smart-random-modal__primary,
.smart-random-modal__secondary {
  min-height: 44px;
  padding: 0 12px;
}

.smart-random-modal__primary {
  background: #4b2618;
  border: 0;
  color: #fff;
}

.smart-random-modal__primary:disabled {
  opacity: .55;
}

.smart-random-modal__secondary {
  background: transparent;
  border: 1px solid rgba(181, 101, 29, .28);
  color: #7b3c22;
}

@media (max-width: 575.98px) {
  .smart-random-home-fab {
    bottom: calc(18px + env(safe-area-inset-bottom, 0px));
    width: 48px;
    height: 48px;
    min-height: 48px;
    padding: 0;
    right: 16px;
  }

  .smart-random-home-fab > span:last-child {
    display: none;
  }

  .smart-random-home-fab__icon {
    font-size: 22px;
  }

  .smart-random-modal {
    padding: 10px;
  }

  .smart-random-modal__panel {
    padding: 22px 16px 16px;
  }

  .smart-random-modal h2 {
    font-size: 22px;
  }

  .smart-random-modal__actions {
    grid-template-columns: 1fr;
  }
}

.chef-story-modal {
  align-items: center;
  background: #090302;
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 0;
  position: fixed;
  z-index: 3000;
}

.chef-story-modal[hidden] {
  display: none;
}

.chef-story-modal-open {
  overflow: hidden;
}

.chef-story-modal__panel {
  background: #090302;
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  height: 100vh;
  max-height: none;
  max-width: none;
  overflow: hidden;
  position: relative;
  overscroll-behavior: contain;
  touch-action: none;
  width: 100vw;
}

.chef-story-modal__close {
  align-items: center;
  background: rgba(255, 255, 255, .9);
  border: 0;
  border-radius: 999px;
  color: #2d160f;
  display: flex;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  right: 10px;
  top: 10px;
  width: 34px;
  z-index: 2;
}

.chef-story-modal__progress {
  background: rgba(255, 255, 255, .9);
  border-radius: 999px;
  color: #2d160f;
  font-size: 12px;
  font-weight: 900;
  left: 50%;
  line-height: 1;
  min-width: 46px;
  padding: 8px 12px;
  position: absolute;
  text-align: center;
  top: 10px;
  transform: translateX(-50%);
  z-index: 2;
}

.chef-story-modal__progress:empty {
  display: none;
}

.chef-story-modal__nav {
  align-items: center;
  background: rgba(255, 255, 255, .86);
  border: 0;
  border-radius: 999px;
  color: #2d160f;
  display: flex;
  font-size: 36px;
  font-weight: 800;
  height: 48px;
  justify-content: center;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  z-index: 2;
}

.chef-story-modal__nav[hidden] {
  display: none;
}

.chef-story-modal__nav--prev {
  left: 12px;
}

.chef-story-modal__nav--next {
  right: 12px;
}

.chef-story-modal__media {
  background: #000;
  height: 100%;
  width: 100%;
}

.chef-story-modal__media img,
.chef-story-modal__media video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.chef-story-modal__swipe-hint {
  align-items: center;
  animation: storySwipeHint 2.4s ease-in-out 1s 3 forwards;
  background: rgba(9, 3, 2, .42);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  bottom: 150px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
  color: #fff;
  display: flex;
  flex-direction: column;
  gap: 3px;
  left: 50%;
  opacity: 0;
  padding: 12px 13px 10px;
  pointer-events: none;
  position: absolute;
  transform: translate(-50%, 26px);
  z-index: 2;
}

.chef-story-modal__swipe-hint[hidden] {
  display: none;
}

.chef-story-modal__swipe-hint i {
  font-size: 25px;
  line-height: 1;
}

.chef-story-modal__swipe-hint span {
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 8px solid currentColor;
  display: block;
  height: 0;
  width: 0;
}

@keyframes storySwipeHint {
  0%,
  100% {
    opacity: 0;
    transform: translate(-50%, 26px);
  }

  18%,
  72% {
    opacity: .92;
  }

  45% {
    opacity: .92;
    transform: translate(-50%, -18px);
  }
}

.chef-story-modal__body {
  background: linear-gradient(180deg, rgba(19, 9, 7, .18), #130907);
  bottom: 0;
  left: 0;
  padding: 48px 18px 18px;
  position: absolute;
  right: 0;
}

.chef-story-modal__source {
  color: #ffd38f;
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 3px;
}

.chef-story-modal__body h3 {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.chef-story-modal__body p {
  color: rgba(255, 255, 255, .88);
  font-size: 14px;
  margin: 8px 0 0;
}

.home-b-mobile {
  display: none;
}

.chef-partners {
  background: #fffaf3;
  border-top: 1px solid rgba(72, 36, 24, .06);
  padding: 42px 0 48px;
}

.chef-partners__head {
  margin: 0 auto 28px;
  max-width: 640px;
  text-align: center;
}

.chef-partners__head span {
  background: #fff3e7;
  border: 1px solid rgba(181, 101, 29, .18);
  border-radius: 999px;
  color: #8a4a12;
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  margin-bottom: 18px;
  padding: 8px 18px;
  text-transform: uppercase;
}

.chef-partners__head h2 {
  color: #8d5c44;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  margin: 0;
}

.chef-partners__grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 360px));
  justify-content: center;
}

.chef-partner-card {
  background: #fff;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 16px;
  box-shadow: 0 18px 40px rgba(72, 36, 24, .06);
  display: grid;
  gap: 14px;
  grid-template-columns: 104px minmax(0, 1fr);
  padding: 14px;
}

.chef-partner-card__logo {
  align-items: center;
  background: #fff7ed;
  border: 1px solid rgba(181, 101, 29, .12);
  border-radius: 12px;
  display: flex;
  height: 104px;
  justify-content: center;
  overflow: hidden;
  width: 104px;
}

.chef-partner-card__logo img {
  height: 88px;
  object-fit: contain;
  width: 88px;
}

.chef-partner-card__logo span {
  color: #b5651d;
  font-size: 28px;
  font-weight: 950;
}

.chef-partner-card__body {
  min-width: 0;
}

.chef-partner-card h3 {
  color: #2c160e;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.15;
  margin: 0 0 5px;
}

.chef-partner-card p {
  color: #765743;
  display: -webkit-box;
  font-size: 12px;
  line-height: 1.35;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.chef-partner-card__badges {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.chef-partner-card__badges span,
.chef-partner-card__badges code {
  background: #fff3e7;
  border: 1px solid rgba(181, 101, 29, .16);
  border-radius: 999px;
  color: #6b3a1d;
  font-size: 11px;
  font-weight: 950;
  padding: 5px 8px;
}

.chef-partner-card__actions {
  align-items: center;
  display: flex;
  gap: 8px;
  margin-top: 12px;
}

.chef-partner-card__primary,
.chef-partner-card__icon {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  text-decoration: none;
}

.chef-partner-card__primary {
  background: #482418;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  min-height: 34px;
  padding: 0 16px;
}

.chef-partner-card__primary--static {
  color: #fff;
}

.chef-partner-card__icon {
  background: #fff7ed;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 50%;
  color: #482418;
  height: 34px;
  width: 34px;
}

@media (max-width: 767.98px) {
  #categoria-croissants .catalog-grid--slides .bcard-desc {
    display: -webkit-box;
    min-height: 0;
    max-height: calc(3 * 1.55em);
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }

  .home-b-mobile {
    background: #fffaf3;
    border-bottom: 1px solid rgba(72, 36, 24, .08);
    display: block;
    max-height: 300px;
    overflow: hidden;
    padding: 18px 0 16px;
  }

  .home-b-enabled .home-b-mobile + section[aria-label="Banners promocionais"],
  .home-b-enabled .flash-sale-section,
  .home-b-enabled .home-counter,
  .home-b-enabled #feedback-foto {
    display: none !important;
  }

  .home-b-mobile h1 {
    color: #2c160e;
    font-size: 23px;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0 0 12px;
  }

  .home-b-search {
    align-items: center;
    background: #fff;
    border: 1px solid rgba(72, 36, 24, .12);
    border-radius: 14px;
    box-shadow: 0 12px 28px rgba(72, 36, 24, .08);
    display: flex;
    gap: 9px;
    height: 44px;
    margin-bottom: 13px;
    padding: 0 14px;
  }

  .home-b-search i {
    color: #b5651d;
    font-size: 15px;
  }

  .home-b-search input {
    background: transparent;
    border: 0;
    color: #2c160e;
    flex: 1;
    font-size: 14px;
    font-weight: 700;
    min-width: 0;
    outline: 0;
  }

  .home-b-search input::placeholder {
    color: #9c7e6b;
    font-size: 14px;
    font-weight: 700;
  }

  .home-b-cats {
    display: grid;
    gap: 10px;
    grid-auto-columns: 72px;
    grid-auto-flow: column;
    margin: 0 -12px 12px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 12px 2px;
    scroll-snap-type: inline proximity;
    scrollbar-width: none;
  }

  .home-b-cats::-webkit-scrollbar {
    display: none;
  }

  .home-b-cat {
    color: #3b2014;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    scroll-snap-align: start;
    text-align: center;
    text-decoration: none;
  }

  .home-b-cat__icon {
    align-items: center;
    background: linear-gradient(180deg, #fff, #f8eadb);
    border: 1px solid rgba(181, 101, 29, .18);
    border-radius: 50%;
    box-shadow: 0 10px 18px rgba(72, 36, 24, .08);
    display: flex;
    font-size: 24px;
    height: 58px;
    justify-content: center;
    margin: 0 auto 6px;
    width: 58px;
  }

  .home-b-all {
    align-items: center;
    background: #b5651d;
    border-radius: 12px;
    color: #fff;
    display: flex;
    font-size: 13px;
    font-weight: 950;
    height: 38px;
    justify-content: center;
    text-decoration: none;
    width: 100%;
  }

  .chef-partners {
    padding: 28px 0 32px;
  }

  .chef-partners__head {
    margin-bottom: 18px;
  }

  .chef-partners__grid {
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    margin-inline: -12px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2px 12px 14px;
    scroll-padding-inline: 12px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .chef-partners__grid::-webkit-scrollbar {
    display: none;
  }

  .chef-partner-card {
    border-radius: 14px;
    flex: 0 0 min(88vw, 360px);
    grid-template-columns: 82px minmax(0, 1fr);
    padding: 12px;
    scroll-snap-align: start;
  }

  .chef-partner-card__logo {
    height: 82px;
    width: 82px;
  }

  .chef-partner-card__logo img {
    height: 68px;
    width: 68px;
  }

  .chef-partner-card h3 {
    font-size: 15px;
  }

  .chef-partner-card p {
    font-size: 11px;
  }

  .chef-partner-card__badges {
    margin-top: 8px;
  }

  .chef-partner-card__actions {
    margin-top: 9px;
  }

  .chef-partner-card__primary {
    flex: 1;
    min-height: 32px;
  }

  .chef-partner-card__icon {
    height: 32px;
    width: 32px;
  }
}

@media (max-width: 575.98px) {
  .chef-stories {
    padding: 22px 0 18px;
  }

  .chef-stories__head {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }

  .chef-stories h2 {
    font-size: 22px;
  }

  .chef-story-modal__body {
    padding-bottom: max(18px, env(safe-area-inset-bottom));
  }

  .chef-story-modal__nav {
    background: rgba(255, 255, 255, .78);
    bottom: max(86px, env(safe-area-inset-bottom));
    height: 42px;
    top: auto;
    transform: none;
    width: 42px;
  }
}

.story-capture-preview {
  aspect-ratio: 9 / 12;
  background: #fffaf2;
  border: 5px solid white;
  border-radius: 15px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
  margin: 0 auto;
  max-width: 280px;
  overflow: hidden;
  width: min(280px, calc(100vw - 48px));
}

.story-capture-preview img,
.story-capture-preview video {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.story-photo-form {
  align-items: center;
  display: grid;
  gap: 8px;
  justify-items: center;
  margin-top: 16px;
}

.story-photo-submit {
  align-items: center;
  background: #482418;
  border: 0;
  border-radius: 50px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  line-height: 1.15;
  min-height: 44px;
  padding: 0 22px;
  text-align: center;
}

.story-photo-form p {
  color: #7a6658;
  font-size: 12px;
  margin: 0;
}

/* Promoção Relâmpago */
.home-highlights {
  padding: clamp(20px, 4vw, 42px) 0;
  background: #fdf8f1;
}

.home-highlights__track {
  display: flex;
  justify-content: center;
  gap: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 4px 2px 12px;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}

.home-highlight-logo { flex: 0 0 96px; scroll-snap-align: center; }
.home-highlight-logo a {
  display: flex;
  width: 96px;
  height: 96px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 3px;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #d63384, #f59f00 52%, #5a2f1d);
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(72, 36, 24, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}
.home-highlight-logo a:hover { transform: translateY(-3px); box-shadow: 0 14px 28px rgba(72, 36, 24, .14); }
.home-highlight-logo img {
  background: #f3e5d5;
  border: 3px solid #fffaf2;
  border-radius: 999px;
  box-sizing: border-box;
  display: block;
  height: 100%;
  object-fit: contain;
  padding: 0px;
  width: 100%;
}

@media (max-width: 575.98px) {
  .home-highlights__track { justify-content: flex-start; margin: 0 -12px; padding-inline: 12px; }
}

.flash-sale-section {
  background: #fff8ed;
  padding: 38px 0;
}

.flash-sale-shell {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  padding: clamp(20px, 4vw, 34px);
  color: #fff;
  background:
    linear-gradient(110deg, rgba(63, 36, 24, .96), rgba(143, 77, 23, .78)),
    var(--flash-banner, linear-gradient(135deg, #3f2418, #b96818));
  background-position: center;
  background-size: cover;
  box-shadow: 0 20px 48px rgba(43, 24, 16, .18);
}

.flash-sale-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: start;
  margin-bottom: 24px;
}

.flash-sale-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #ffbf47;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.flash-sale-header h2 {
  margin: 8px 0;
  color: #fff;
  font-size: clamp(26px, 4vw, 42px);
  font-weight: 900;
  letter-spacing: 0;
}

.flash-sale-header p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, .84);
}

.flash-sale-countdown {
  display: grid;
  grid-template-columns: repeat(4, 70px);
  gap: 8px;
}

.flash-sale-countdown span {
  display: grid;
  justify-items: center;
  gap: 2px;
  padding: 10px 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 8px;
  background: rgba(255, 255, 255, .12);
  backdrop-filter: blur(6px);
}

.flash-sale-countdown strong {
  color: #fff;
  font-size: 24px;
  line-height: 1;
}

.flash-sale-countdown small {
  color: rgba(255, 255, 255, .78);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.flash-sale-slider {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.flash-sale-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 30%);
  gap: 14px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px 2px 12px;
  scroll-behavior: smooth;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
}

.flash-sale-grid::-webkit-scrollbar {
  display: none;
}

.flash-sale-slider__nav {
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
}

.flash-sale-slider__nav:disabled {
  opacity: .35;
  cursor: not-allowed;
}

.flash-sale-card {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 8px;
  background: #fffdf8;
  color: #2b1810;
  scroll-snap-align: start;
}

.flash-sale-card__image {
  position: relative;
  aspect-ratio: 1 / .72;
  background: #ead7c3;
}

.flash-sale-card__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
}

.flash-sale-card__image span:not(.bcard-quantidade) {
  position: absolute;
  top: 10px;
  left: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #ffbf47;
  color: #3f2418;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.flash-sale-card__body {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.flash-sale-card h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 900;
}

.flash-sale-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}

.flash-sale-price del {
  color: #99766a;
  font-size: 13px;
}

.flash-sale-price strong {
  color: #bd5b00;
  font-size: 22px;
  font-weight: 950;
}

.flash-sale-stock {
  margin: 0;
  color: #805548;
  font-size: 12px;
  font-weight: 800;
}

.flash-sale-add {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  border: 0;
  border-radius: 8px;
  background: #3f2418;
  color: #fff;
  font-weight: 900;
}

.flash-sale-add:disabled {
  background: #9c8d86;
  cursor: not-allowed;
}

.flash-sale-ended {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 8px;
  background: rgba(255, 255, 255, .16);
  color: #fff;
  font-weight: 800;
}

.flash-sale-section--ended .flash-sale-shell {
  filter: grayscale(.25);
}

/* Página única do produto */
.product-detail-page {
  min-height: calc(100vh - 74px);
  padding: 34px 0 54px;
  background:
    radial-gradient(circle at 8% 0%, rgba(239, 159, 39, .08), transparent 28%),
    linear-gradient(180deg, #fffaf4 0%, #f8efe3 100%);
}

.product-breadcrumb {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  overflow-x: auto;
  color: #9a8173;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.product-breadcrumb a,
.product-breadcrumb strong {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 12px;
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 999px;
  background: rgba(255, 255, 255, .74);
  color: #4a3728;
  text-decoration: none;
}

.product-breadcrumb strong {
  color: #d6336c;
  background: #fff1f5;
}

.product-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .95fr);
  gap: clamp(24px, 5vw, 52px);
  align-items: center;
  overflow: hidden;
  padding: clamp(18px, 4vw, 48px);
  border: 1px solid rgba(72, 36, 24, .11);
  border-radius: 8px;
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 22px 58px rgba(43, 24, 16, .09);
}

.product-detail-media {
  display: grid;
  place-items: center;
  min-height: 420px;
  border-radius: 8px;
  background: #fff;
}

.product-detail-image {
  width: min(100%, 560px);
  max-height: 520px;
  object-fit: contain;
  filter: drop-shadow(0 24px 34px rgba(43, 24, 16, .12));
}

.product-detail-copy {
  min-width: 0;
}

.product-detail-kicker {
  display: inline-flex;
  margin-bottom: 12px;
  color: #d6336c;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .34em;
  text-transform: uppercase;
}

.product-detail-copy h1 {
  margin: 0 0 18px;
  color: #130c08;
  font-size: clamp(40px, 6vw, 72px);
  font-weight: 950;
  line-height: .95;
  letter-spacing: 0;
}

.product-detail-quantity {
  display: inline;
  margin-right: .18em;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
  vertical-align: baseline;
  white-space: nowrap;
}

.product-detail-description {
  max-width: 620px;
  margin: 0 0 24px;
  color: #6b5744;
  font-size: clamp(16px, 2vw, 20px);
  line-height: 1.75;
}

.product-detail-price {
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.product-detail-price del {
  color: #9e7e6a;
  font-size: 19px;
  font-weight: 800;
}

.product-detail-price strong {
  color: #d6336c;
  font-size: clamp(32px, 5vw, 44px);
  font-weight: 950;
}

.product-detail-options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 560px;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
}

.product-detail-options legend {
  grid-column: 1 / -1;
  margin: 0;
  color: #a56f45;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.product-detail-option {
  position: relative;
  cursor: pointer;
}

.product-detail-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.product-detail-option span {
  display: grid;
  gap: 3px;
  min-height: 72px;
  padding: 12px 13px;
  border: 1px solid rgba(72, 36, 24, .14);
  border-radius: 8px;
  background: #fffdf8;
  color: #3f2418;
}

.product-detail-option strong {
  font-size: 15px;
  font-weight: 950;
}

.product-detail-option small {
  color: #9a4800;
  font-weight: 850;
}

.product-detail-option input:checked + span {
  border-color: #009b66;
  background: #e9fff4;
  box-shadow: inset 0 0 0 1px #009b66;
}

.product-detail-cashback {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 560px;
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 8px;
  background: #fff8e4;
  color: #9a4800;
}

.product-detail-cashback span {
  font-size: 25px;
}

.product-detail-cashback strong,
.product-detail-cashback small {
  display: block;
}

.product-detail-cashback strong {
  font-size: 18px;
  font-weight: 950;
}

.product-detail-cashback small {
  color: #b35b11;
  font-weight: 800;
}

.product-detail-status {
  display: inline-flex;
  margin-bottom: 28px;
  padding: 9px 16px;
  border-radius: 999px;
  background: #e4fbef;
  color: #00835f;
  font-weight: 950;
}

.product-detail-status.is-sold-out {
  background: #f1ece8;
  color: #705b50;
}

.product-detail-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.product-detail-buy {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.product-detail-qty {
  min-height: 54px;
  border-radius: 999px;
}

.product-detail-primary,
.product-detail-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  font-weight: 950;
  text-decoration: none;
}

.product-detail-primary {
  background: #009b66;
  color: #fff;
}

.product-detail-primary:disabled {
  background: #9c8d86;
}

.product-detail-secondary {
  background: #f2efec;
  color: #4a3728;
}

.product-detail-info {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.product-detail-info > div {
  padding: 18px;
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .82);
}

.product-detail-info span {
  display: block;
  margin-bottom: 8px;
  color: #a56f45;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.product-detail-info p {
  margin: 0;
  color: #5d4035;
  line-height: 1.65;
}

.product-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.product-detail-tags strong {
  padding: 6px 10px;
  border-radius: 999px;
  background: #fff4e8;
  color: #6f3b24;
  font-size: 13px;
}

.bcard-img-link {
  display: grid;
  place-items: center;
  height: 198px;
  width: 100%;
  color: inherit;
  text-decoration: none;
  position: relative;
}

.bcard-img-link .bcard-img {
  grid-area: 1 / 1;
  object-fit: contain;
  object-position: center;
}

.bcard-nome a {
  color: inherit;
  text-decoration: none;
}

.bcard-nome a:hover {
  color: var(--cor-acento);
}

.drawer-item-customization {
  margin-top: 3px;
  color: #9a6a4b;
  font-size: 12px;
  font-weight: 800;
}

.drawer-item-preorder {
  display: inline-flex;
  width: fit-content;
  margin-top: 5px;
  padding: 3px 7px;
  border-radius: var(--raio-pill);
  background: #fff3cd;
  color: #7a4f00;
  font-size: 11px;
  font-weight: 850;
}

@media (max-width: 991.98px) {
  .flash-sale-header {
    grid-template-columns: 1fr;
  }

  .flash-sale-countdown {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .flash-sale-grid {
    grid-auto-columns: minmax(250px, 48%);
  }

  .product-detail-hero {
    grid-template-columns: 1fr;
  }

  .product-detail-media {
    min-height: 320px;
  }

  .product-detail-info {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .flash-sale-section {
    padding: 16px 0;
  }

  .flash-sale-shell {
    margin-inline: 0;
    padding: 14px;
  }

  .flash-sale-header {
    gap: 12px;
    margin-bottom: 16px;
  }

  .flash-sale-kicker {
    gap: 6px;
    font-size: 10px;
    letter-spacing: .12em;
  }

  .flash-sale-header h2 {
    margin: 6px 0 4px;
    font-size: 28px;
    line-height: 1.08;
  }

  .flash-sale-header p {
    font-size: 15px;
  }

  .flash-sale-countdown {
    gap: 6px;
  }

  .flash-sale-countdown span {
    min-width: 0;
    padding: 8px 4px;
  }

  .flash-sale-slider {
    grid-template-columns: 1fr;
  }

  .flash-sale-slider__nav {
    display: none;
  }

  .flash-sale-grid {
    grid-auto-columns: minmax(214px, 72%);
    gap: 10px;
    padding-bottom: 6px;
  }

  .flash-sale-countdown strong {
    font-size: 18px;
  }

  .flash-sale-countdown small {
    font-size: 9px;
  }

  .flash-sale-card__image {
    aspect-ratio: 1 / .6;
  }

  .flash-sale-card__image span:not(.bcard-quantidade) {
    top: 8px;
    left: 8px;
    padding: 4px 8px;
    font-size: 10px;
  }

  .flash-sale-card__body {
    gap: 8px;
    padding: 12px;
  }

  .flash-sale-card h3 {
    font-size: 15px;
  }

  .flash-sale-price {
    gap: 6px;
  }

  .flash-sale-price del {
    font-size: 12px;
  }

  .flash-sale-price strong {
    font-size: 19px;
  }

  .flash-sale-stock {
    font-size: 11px;
  }

  .flash-sale-add {
    min-height: 38px;
    gap: 6px;
    font-size: 14px;
  }

  .product-detail-page {
    padding-top: 14px;
  }

  .product-detail-hero {
    padding: 14px;
  }

  .product-detail-media {
    min-height: 260px;
  }

  .product-detail-copy h1 {
    font-size: 38px;
  }

  .product-detail-actions > * {
    width: 100%;
  }

  .product-detail-buy {
    width: 100%;
  }

  .product-detail-buy .product-detail-primary {
    flex: 1;
  }

  .product-detail-options {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   RESET E BASE
   ========================================================================== */
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
}

body {
  background-color: var(--cor-bg-principal);
  font-family: 'Inter', sans-serif;
  color: var(--cor-texto-principal);
  line-height: 1.6;
  overflow-x: hidden;
  max-width: 100%;
}

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 3000;
  transform: translateY(-160%);
  padding: 10px 14px;
  border-radius: 8px;
  background: #fff;
  color: var(--cor-primaria-hover);
  font-weight: 800;
  box-shadow: var(--sombra-md);
}

.skip-link:focus {
  transform: translateY(0);
}

/* ==========================================================================
   NAVBAR
   ========================================================================== */
.navbar {
  background: #fff !important;
  border-bottom: 0.5px solid var(--cor-borda-suave);
  padding: 0;
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
}

.navbar-inner-wrap {
  display: flex;
  align-items: center;
  padding: 10px 24px;
  flex-wrap: nowrap;
  gap: 0;
}

.navbar .navbar-brand {
  display: flex;
  align-items: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--cor-primaria-hover) !important;
  text-decoration: none;
  gap: 8px;
  white-space: nowrap;
  padding: 0;
  margin-right: 16px;
}

.navbar .navbar-nav .nav-link {
  color: var(--cor-primaria-hover) !important;
  font-size: 14px;
  font-weight: 500;
  padding: 8px 10px !important;
  transition: color 0.15s;
}

.navbar .navbar-nav .nav-link:hover {
  color: var(--cor-acento) !important;
}

.navbar-collapse.show,
.navbar-collapse.collapsing {
  background: #fff;
  border-top: 0.5px solid var(--cor-borda-suave);
  padding: 8px 0 12px;
}

.navbar-collapse .nav-link {
  padding: 10px 16px !important;
  border-radius: var(--raio-sm);
  margin: 2px 8px;
}

.navbar-collapse .nav-link:hover {
  background: #fdf0e6;
}

/* Ícone carrinho */
.navbar-cart-icon-btn {
  position: relative;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  color: var(--cor-primaria-hover);
  border-radius: var(--raio-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s, background 0.15s;
  flex-shrink: 0;
}

.navbar-cart-icon-btn:hover {
  color: var(--cor-acento);
  background: #fdf0e6;
}

.navbar-cart-bubble {
  position: absolute;
  top: -1px;
  right: -1px;
  min-width: 17px;
  height: 17px;
  background: var(--cor-erro);
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  border-radius: var(--raio-pill);
  border: 1.5px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
  line-height: 1;
}

@keyframes cartBubblePop {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.4); }
  100% { transform: scale(1); }
}

.navbar-cart-bubble--pop {
  animation: cartBubblePop 0.3s ease;
}

/* Busca desktop */
.navbar-search {
  position: relative;
  display: flex;
  align-items: center;
}

.navbar-search-input {
  background: #f5ede4;
  border: 1.5px solid var(--cor-borda-acento);
  border-radius: var(--raio-pill);
  color: var(--cor-primaria-hover);
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  padding: 7px 36px 7px 14px;
  width: 180px;
  outline: none;
  transition: width 0.3s ease, border-color 0.2s, box-shadow 0.2s;
}

.navbar-search-input::placeholder { color: var(--cor-texto-suave); }

.navbar-search-input:focus {
  width: 230px;
  border-color: var(--cor-acento);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(181,101,29,0.12);
}

.navbar-search-icon {
  position: absolute;
  right: 12px;
  color: var(--cor-acento);
  pointer-events: none;
}

/* Busca mobile */
.navbar-search-mobile {
  position: relative;
  display: flex;
  align-items: center;
  margin: 4px 8px 8px;
}

.navbar-search-input-mobile {
  width: 100%;
  background: #f5ede4;
  border: 1.5px solid var(--cor-borda-acento);
  border-radius: 10px;
  color: var(--cor-primaria-hover);
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  padding: 10px 40px 10px 14px;
  outline: none;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.navbar-search-input-mobile::placeholder { color: var(--cor-texto-suave); }

.navbar-search-input-mobile:focus {
  border-color: var(--cor-acento);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(181,101,29,0.12);
}

.navbar-search-mobile svg {
  position: absolute;
  right: 12px;
  pointer-events: none;
}

/* Dropdown de resultados */
.navbar-search-results,
.navbar-search-results-mobile {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: 320px;
  background: #fff;
  border-radius: var(--raio-md);
  box-shadow: 0 12px 40px rgba(0,0,0,0.14), 0 2px 8px rgba(0,0,0,0.06);
  border: 0.5px solid var(--cor-borda-suave);
  z-index: 2000;
  display: none;
  max-height: 380px;
  overflow-y: auto;
  overflow-x: hidden;
}

.navbar-search-results-mobile {
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  width: auto;
  max-height: 300px;
}

.navbar-search-results--aberto,
.navbar-search-results-mobile.aberto { display: block; }

.navbar-search-results::-webkit-scrollbar,
.navbar-search-results-mobile::-webkit-scrollbar { width: 4px; }

.navbar-search-results::-webkit-scrollbar-thumb,
.navbar-search-results-mobile::-webkit-scrollbar-thumb { background: #d9b99b; border-radius: 4px; }

.navbar-search-header {
  padding: 10px 16px 8px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--cor-acento);
  border-bottom: 0.5px solid rgba(0,0,0,0.06);
  background: var(--cor-bg-secao);
}

.navbar-search-result {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 16px;
  cursor: pointer;
  border-bottom: 0.5px solid rgba(0,0,0,0.05);
  transition: background 0.15s;
  gap: 12px;
}

.navbar-search-result:last-child { border-bottom: none; }
.navbar-search-result:hover,
.navbar-search-result:focus { background: var(--cor-bg-muted); outline: none; }
.navbar-search-result--esgotado { opacity: 0.5; cursor: not-allowed; }
.navbar-search-result--esgotado:hover { background: #fff; }

.navbar-search-result-emoji {
  font-size: 20px;
  width: 36px;
  height: 36px;
  background: #f5ede4;
  border-radius: var(--raio-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.navbar-search-result-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.navbar-search-result-nome {
  font-size: 13px;
  font-weight: 700;
  color: var(--cor-primaria-hover);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.navbar-search-result-tag {
  font-size: 10px;
  font-weight: 600;
  color: var(--cor-acento);
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.navbar-search-result-preco {
  font-size: 13px;
  font-weight: 700;
  color: var(--cor-primaria);
  white-space: nowrap;
  flex-shrink: 0;
}

.navbar-search-empty {
  padding: 24px 16px;
  font-size: 13px;
  color: var(--cor-texto-suave);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

.navbar-search-empty span { font-size: 28px; }

@media (max-width: 991px) {
  .navbar-inner-wrap { padding: 8px 16px; }
  .navbar-search-results { width: 100%; right: auto; left: 0; }
}

/* ==========================================================================
   HERO SLIDES
   ========================================================================== */
#heroCarousel .carousel-inner {
  isolation: isolate;
}

.hero-slide {
  position: relative;
  width: 100%;
  height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.hero-slide__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-slide__video {
  background: #1a0a00;
}

.hero-slide__play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  background: rgba(36, 20, 15, .72);
  color: #fff;
  font-size: 28px;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.hero-slide__play:hover {
  background: rgba(183, 91, 18, .92);
}

.hero-slide--premium  { background-color: #0d1a10; background-size: cover; background-position: center; }
.hero-slide--afeto    { background-color: #1a0a00; background-size: cover; background-position: center; }
.hero-slide--urgencia { background-color: #1a0e00; background-size: cover; background-position: center; }
.hero-slide--cardapio { background-color: #1a0a00; background-size: cover; background-position: center; }

.hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.52);
  z-index: 1;
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 12px;
}

.hero-label {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--cor-dourado);
  margin-bottom: 14px;
}

.hero-divider {
  width: 48px;
  height: 2px;
  background: var(--cor-dourado);
  margin-bottom: 20px;
}

.hero-title {
  max-width: 600px;
  font-size: 42px;
  font-weight: 800;
  letter-spacing: -1px;
  color: #fff;
  line-height: 1.15;
  margin: 0 0 18px;
}

.hero-sub {
  max-width: 600px;
  font-size: 15px;
  color: rgba(255,255,255,0.82);
  line-height: 1.7;
  margin: 0 0 30px;
}

.hero-btn {
  display: inline-block;
  padding: 13px 30px;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-decoration: none;
  transition: var(--transition);
  cursor: pointer;
  border: none;
}

.hero-btn--gold { background: var(--cor-acento); color: #fff; }
.hero-btn--gold:hover { background: var(--cor-acento-hover); color: #fff; transform: translateY(-2px); }

.hero-btn--outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.65); }
.hero-btn--outline:hover { background: rgba(255,255,255,0.1); color: #fff; transform: translateY(-2px); }

.hero-badge {
  position: absolute;
  top: 28px;
  right: 28px;
  z-index: 3;
  background: var(--cor-acento);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 14px;
  border-radius: 3px;
}

.hero-icon-wrap {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.hero-icon-ring {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.hero-icon-ring--outer { width: 160px; height: 160px; border: 2px solid rgba(239,159,39,0.35); }
.hero-icon-ring--inner { width: 118px; height: 118px; background: rgba(181,101,29,0.22); }
.hero-icon-emoji { font-size: 52px; line-height: 1; }

.hero-tags {
  position: absolute;
  right: 8%;
  bottom: 48px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hero-tag {
  background: rgba(255,255,255,0.07);
  border: 0.5px solid rgba(255,255,255,0.15);
  border-radius: var(--raio-sm);
  padding: 10px 18px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hero-tag-label { font-size: 11px; color: var(--cor-dourado); letter-spacing: 1px; text-transform: uppercase; }
.hero-tag-value { font-size: 13px; color: #fff; font-weight: 600; }

.hero-counter {
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  text-align: center;
}

.hero-counter-num {
  display: block;
  font-size: 76px;
  font-weight: 700;
  color: var(--cor-dourado);
  line-height: 1;
}

.hero-counter-txt {
  display: block;
  font-size: 12px;
  color: rgba(255,255,255,0.65);
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 8px;
}

@media (max-width: 768px) {
  #heroCarousel .carousel-control-prev,
  #heroCarousel .carousel-control-next {
    top: 50%;
    bottom: auto;
    width: 44px;
    height: 48px;
    transform: translateY(-50%);
    touch-action: manipulation;
  }

  .hero-slide         { height: 420px; align-items: flex-start; }
  .hero-content       { padding: 82px 24px 0; max-width: 360px; }
  .hero-label         { font-size: 10px; letter-spacing: 4px; margin-bottom: 12px; }
  .hero-divider       { width: 48px; margin-bottom: 28px; }
  .hero-title         { font-size: 24px; letter-spacing: -0.5px; line-height: 1.12; margin-bottom: 16px; }
  .hero-sub           { font-size: 13px; line-height: 1.6; margin-bottom: 28px; }
  .hero-btn           { padding: 12px 22px; font-size: 12px; border-radius: 3px; }
  .hero-icon-wrap,
  .hero-tags,
  .hero-counter       { display: none; }

  .carousel-indicators {
    margin-bottom: 18px;
  }

  .carousel-indicators [data-bs-target] {
    width: 36px;
    height: 3px;
    border-radius: 999px;
  }
}

/* ==========================================================================
   CARDÁPIO E CARDS
   ========================================================================== */
#cardapio {
  background-color: var(--cor-bg-cardapio) !important;
}

.bcard {
  position: relative;
  background: #fff;
  border-radius: var(--raio-lg);
  overflow: hidden;
  border: 0.5px solid var(--cor-borda-suave);
  display: flex;
  flex-direction: column;
  height: 100%;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.45s ease, transform 0.45s ease;
  will-change: opacity, transform;
}

.bcard--visivel {
  animation: bcard-pop-in .62s cubic-bezier(.2, .8, .2, 1) both;
  opacity: 1;
  transform: translateY(0);
}
.bcard:hover { transform: translateY(-6px); box-shadow: var(--sombra-lg); }
.bcard--visivel:hover { transform: translateY(-6px); }

@keyframes bcard-pop-in {
  0% {
    opacity: 0;
    transform: translateY(28px) scale(.98);
  }
  58% {
    opacity: 1;
    transform: translateY(-8px) scale(1.035);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bcard--visivel {
    animation: none;
  }
}

.bcard-img-wrap {
  position: relative;
  background: #fff;
  min-height: 260px;
  padding: 16px 16px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bcard-img {
  width: 100%;
  height: 100%;
  max-width: 78%;
  max-height: 200px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  object-position: center;
  border-radius: 10px;
  display: block;
}

.bcard-img--primary,
.bcard-img--hover {
  transition: opacity .22s ease, transform .22s ease;
}

.bcard-img--hover {
  inset: 0;
  margin: auto;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

.bcard-img-fallback {
  width: 75%;
  aspect-ratio: 1 / 1;
  background: #e8d5c4;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
}

.bcard-tag {
  position: absolute;
  top: 14px;
  left: 14px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--raio-pill);
  color: #fff;
  z-index: 2;
}

.bcard-tag--classico { background: var(--cor-primaria); }
.bcard-tag--especial { background: var(--cor-acento); }
.bcard-tag--frutados { background: var(--cor-sucesso); }
.bcard-tag--belga    { background: #185FA5; }
.bcard-tag--chocolate { background: #4a1f13; }
.bcard-tag--donut { background: #a24f8a; }

.bcard-off {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: var(--raio-pill);
  background: var(--cor-erro);
  color: #fff;
  z-index: 2;
}

.bcard-preorder {
  position: absolute;
  top: 42px;
  left: 14px;
  z-index: 2;
  max-width: calc(100% - 28px);
  padding: 4px 8px;
  border-radius: var(--raio-pill);
  background: #fff3cd;
  color: #7a4f00;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: 0 6px 14px rgba(122, 79, 0, 0.12);
}

.bcard-nova-producao {
  flex: 0 0 auto;
  width: 100%;
  padding: 5px 12px;
  background: #faeeda;
  color: #854f0b;
  text-align: center;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: .25px;
}

.bcard-destaque {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 700;
  color: #854f0b;
  background: #faeeda;
  border: 0.5px solid var(--cor-dourado-claro);
  padding: 3px 10px;
  border-radius: var(--raio-pill);
  white-space: nowrap;
  z-index: 2;
  letter-spacing: 0.3px;
}

.bcard-stock-badge {
  align-self: center;
  color: #854f0b;
  background: #faeeda;
  border: 0.5px solid var(--cor-dourado-claro);
  padding: 3px 10px;
  border-radius: var(--raio-pill);
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.bcard-stock-message {
  flex-basis: 100%;
  width: 100%;
  color: #654132;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
}

.bcard-body {
  padding: 16px 18px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bcard-nome {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--cor-primaria-hover);
  margin: 0 0 8px;
}

.bcard-quantidade {
  position: absolute;
  top: 42px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 28px);
  padding: 4px 9px;
  border: 1px solid rgba(183, 101, 29, .22);
  border-radius: var(--raio-pill);
  background: #fff7ec;
  color: #7a3f1d;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  vertical-align: middle;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(122, 79, 0, 0.1);
}

.bcard-img-wrap:has(.bcard-quantidade) .bcard-preorder {
  top: 70px;
}

.daily-deal-card__image .bcard-quantidade {
  top: 10px;
  left: 10px;
}

.flash-sale-card__image .bcard-quantidade {
  top: 42px;
  left: 10px;
}

.bcard-ingredientes {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 10px;
}

.bcard-ing {
  font-size: 10px;
  font-weight: 500;
  color: #5f3b21;
  background: #fdf0e6;
  border: 0.5px solid var(--cor-borda-acento);
  padding: 3px 8px;
  border-radius: var(--raio-pill);
  white-space: nowrap;
}

.bcard-ingredientes--bebida {
  min-height: 22px;
}

.bcard-desc {
  font-size: 12px;
  color: #5f4b3a;
  line-height: 1.65;
  flex: 1;
  margin: 0 0 14px;
}

.bcard-divider {
  height: 0.5px;
  background: var(--cor-borda-suave);
  margin-bottom: 14px;
}

.bcard-preco-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 6px;
}

.bcard-preco-group {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.bcard-preco-antigo { font-size: 12px; color: #aaa; text-decoration: line-through; }

.bcard-preco-atual {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.5px;
  color: var(--cor-primaria);
}

.bcard-vendidos {
  color: #9a520e;
  font-size: 11px;
  font-weight: 800;
  margin-left: auto;
}

.bcard-economia {
  font-size: 10px;
  color: var(--cor-sucesso);
  background: var(--cor-sucesso-bg);
  padding: 3px 8px;
  border-radius: var(--raio-pill);
  font-weight: 600;
}

.bcard-countdown {
  font-size: 10px;
  font-weight: 700;
  color: var(--cor-erro);
  background: var(--cor-erro-bg);
  border: 0.5px solid #ffcdd2;
  border-radius: var(--raio-pill);
  padding: 3px 8px;
  margin-bottom: 8px;
  display: inline-block;
}

.bcard-acoes { display: flex; gap: 8px; align-items: center; }

.bcard-qty {
  display: flex;
  align-items: center;
  border: 0.5px solid var(--cor-borda-media);
  border-radius: var(--raio-sm);
  overflow: hidden;
  flex-shrink: 0;
}

.bcard-qty-btn {
  background: none;
  border: none;
  width: 30px;
  height: 36px;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
  color: var(--cor-primaria);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s;
  line-height: 1;
}

.bcard-qty-btn:hover { background: #f5ede4; }

.bcard-qty-num {
  font-size: 13px;
  font-weight: 600;
  min-width: 26px;
  text-align: center;
  color: var(--cor-primaria-hover);
  user-select: none;
}

.bcard-add {
  flex: 1;
  background: var(--cor-acento);
  color: #fff;
  border: none;
  border-radius: var(--raio-sm);
  height: 36px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: var(--transition);
  letter-spacing: 0.3px;
  white-space: nowrap;
}

.bcard-add:hover { background: var(--cor-acento-hover); transform: scale(1.02); }

.bcard--esgotado { opacity: 0.75; cursor: default; }
.bcard--esgotado:hover { transform: none; box-shadow: var(--sombra-sm); }

.bcard-esgotado-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.45);
  border-radius: var(--raio-md);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

.bcard-esgotado-label {
  background: #fff;
  color: var(--cor-primaria);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 6px 16px;
  border-radius: var(--raio-pill);
}

.bcard-add--esgotado {
  background: #ccc;
  color: #888;
  cursor: not-allowed;
  font-size: 12px;
  width: 100%;
  padding: 0 12px;
  height: 36px;
  border: none;
  border-radius: var(--raio-sm);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
}

.bcard-add--esgotado:hover { background: #ccc; transform: none; }

@keyframes cardHighlight {
  0%   { box-shadow: 0 0 0 3px var(--cor-acento), var(--sombra-lg); transform: translateY(-4px) scale(1.02); }
  50%  { box-shadow: 0 0 0 6px rgba(181,101,29,0.3), var(--sombra-lg); }
  100% { box-shadow: var(--sombra-sm); transform: translateY(0) scale(1); }
}

.bcard--highlight { animation: cardHighlight 2s ease forwards; }

.catalog-grid:empty {
  min-height: 0;
}

/* ==========================================================================
   OFERTAS DO DIA
   ========================================================================== */
.daily-deals-section {
  padding: 42px 0 18px;
  background: linear-gradient(180deg, #fffaf4 0%, #fff 100%);
}

.daily-deals-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.daily-deals-head h2 {
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-size: 36px;
  line-height: 1.05;
  font-weight: 900;
  color: var(--cor-texto-principal);
}

.daily-deals-head span {
  flex: 0 0 auto;
  color: #07885c;
  font-size: 18px;
  font-weight: 850;
}

.daily-deals-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(210px, 250px);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  padding: 2px 2px 16px;
  scrollbar-color: rgba(72, 36, 24, .24) transparent;
}

.daily-deal-card {
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #f0dfcc;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 26px rgba(72, 36, 24, .08);
  min-width: 0;
}

.daily-deal-card__image {
  position: relative;
  display: block;
  aspect-ratio: 1 / .78;
  overflow: hidden;
  background: #fff0d5;
}

.daily-deal-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.daily-deal-card__img--primary,
.daily-deal-card__img--hover {
  transition: opacity .22s ease, transform .22s ease;
}

.daily-deal-card__img--hover {
  inset: 0;
  opacity: 0;
  pointer-events: none;
  position: absolute;
}

@media (hover: hover) and (pointer: fine) {
  .bcard:hover .bcard-img--has-hover,
  .bcard:focus-within .bcard-img--has-hover,
  .daily-deal-card:hover .daily-deal-card__img--has-hover,
  .daily-deal-card:focus-within .daily-deal-card__img--has-hover {
    opacity: 0;
    transform: scale(.98);
  }

  .bcard:hover .bcard-img--hover,
  .bcard:focus-within .bcard-img--hover,
  .daily-deal-card:hover .daily-deal-card__img--hover,
  .daily-deal-card:focus-within .daily-deal-card__img--hover {
    opacity: 1;
    transform: scale(1.03);
  }
}

.daily-deal-card__discount {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 9px;
  background: #ffe55f;
  color: #145f48;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 6px 14px rgba(0, 0, 0, .12);
}

.daily-deal-card__body {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.daily-deal-card__prices {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.daily-deal-card__prices strong {
  color: #07916b;
  font-size: 22px;
  line-height: 1;
  font-weight: 900;
}

.daily-deal-card__prices span {
  color: #8b7868;
  font-size: 14px;
  font-weight: 700;
  text-decoration: line-through;
}

.daily-deal-card h3 {
  margin: 0;
  font-size: 16px;
  line-height: 1.2;
  font-weight: 850;
}

.daily-deal-card h3 a {
  color: var(--cor-texto-principal);
  text-decoration: none;
}

.daily-deal-card small {
  color: var(--cor-texto-muted);
  font-size: 11px;
  font-weight: 700;
}

.daily-deal-card__actions {
  margin-top: 2px;
}

.daily-deal-card__add {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  margin-left: auto;
  border-radius: 50%;
  background: #ffe55f;
  color: #24120c;
  font-size: 30px;
  line-height: 1;
  font-weight: 900;
}

.daily-deal-card__add:hover {
  background: #ffd72f;
  transform: translateY(-1px);
}

/* Mobile — layout horizontal */
@media (max-width: 576px) {
  .catalog-grid:empty {
    position: relative;
    min-height: min(var(--catalog-min-height, 560px), 560px);
  }

  .catalog-grid:empty::before {
    content: "";
    display: block;
    width: min(78vw, 320px);
    height: 420px;
    border-radius: 8px;
    background:
      linear-gradient(100deg, rgba(255,255,255,0) 30%, rgba(255,255,255,.68) 50%, rgba(255,255,255,0) 70%) 0 0 / 220px 100% no-repeat,
      linear-gradient(#fff, #fff);
    box-shadow: 0 10px 28px rgba(43, 24, 16, .08);
    animation: catalogSkeleton 1.4s ease-in-out infinite;
  }

  @keyframes catalogSkeleton {
    to {
      background-position: 140% 0, 0 0;
    }
  }

  #cards-container .col-12,
  #cards-container [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }

  .bcard {
    flex-direction: row;
    align-items: stretch;
    border-radius: 14px;
    box-shadow: 0 10px 28px rgba(54, 35, 24, .08);
  }

  .bcard-img-wrap {
    width: 120px;
    min-width: 120px;
    min-height: 0;
    flex-shrink: 0;
    padding: 16px 0 16px 10px;
    align-items: center;
    justify-content: center;
    background: #fff;
  }

  .bcard-img-link {
    width: 96px;
    min-width: 96px;
    height: 96px;
  }

  .bcard-img,
  .bcard-img-fallback {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
    max-height: 96px;
    aspect-ratio: 1 / 1;
    border-radius: 12px;
  }

  .bcard-tag  {
    top: 10px;
    left: 10px;
    right: 10px;
    width: max-content;
    max-width: calc(100% - 20px);
    font-size: 10px;
    padding: 5px 9px;
    border-radius: 10px;
  }

  .bcard-off  {
    top: 42px;
    left: 10px;
    right: auto;
    width: max-content;
    max-width: calc(100% - 20px);
    font-size: 9px;
    padding: 4px 7px;
  }

  .bcard-body { flex: 1; padding: 16px 10px 14px 8px; min-width: 0; overflow: hidden; }
  .bcard-nome { font-size: 16px; margin-bottom: 6px; line-height: 1.15; }
  .catalog-grid:not(.catalog-grid--slides) .bcard {
    position: relative;
  }

  .catalog-grid:not(.catalog-grid--slides) .bcard-body {
    padding-right: 50px;
  }

  .catalog-grid:not(.catalog-grid--slides) .bcard-favorite-btn,
  .catalog-grid:not(.catalog-grid--slides) .bcard-share-btn {
    top: 10px;
    z-index: 4;
  }

  .catalog-grid:not(.catalog-grid--slides) .bcard-favorite-btn {
    right: 46px;
  }

  .catalog-grid:not(.catalog-grid--slides) .bcard-share-btn {
    right: 12px;
  }

  .bcard-ingredientes { flex-wrap: wrap; overflow: visible; gap: 4px; margin-bottom: 8px; max-height: none; }
  .bcard-ing { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; padding: 5px 8px; }

  .bcard-desc {
    font-size: 12px;
    line-height: 1.55;
    margin-bottom: 10px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .bcard-divider  { margin-bottom: 12px; }
  .bcard-preco-atual { font-size: 20px; }
  .bcard-preco-row   { margin-bottom: 12px; }
  .bcard-acoes   { gap: 8px; }
  .bcard-add     { font-size: 13px; padding: 0 10px; height: 44px; border-radius: 8px; }
  .bcard-qty { border-radius: 8px; }
  .bcard-qty-btn { width: 32px; height: 44px; font-size: 18px; }
  .bcard-qty-num { min-width: 26px; font-size: 15px; }
  .bcard-countdown { font-size: 12px; padding: 6px 10px; margin-bottom: 0; border-radius: 999px; }

  .daily-deals-section {
    padding: 34px 0 8px;
  }

  .daily-deals-head {
    margin-bottom: 14px;
  }

  .daily-deals-head h2 {
    font-size: 28px;
  }

  .daily-deals-head span {
    font-size: 14px;
  }

  .daily-deals-track {
    grid-auto-columns: minmax(218px, calc((100vw - 48px) / 1.55));
    gap: 12px;
    width: 100vw;
    max-width: 100vw;
    margin-inline: calc(50% - 50vw);
    padding-inline: 16px;
  }

  .daily-deal-card {
    width: 100%;
  }

  .daily-deals-track .bcard-qty {
    width: 100%;
  }

  .daily-deals-track .bcard-qty-btn {
    flex: 1 1 0;
    min-width: 38px;
  }

  .daily-deal-card {
    border-radius: 12px;
    box-shadow: 0 8px 20px rgba(72, 36, 24, .07);
  }

  .daily-deal-card__image {
    aspect-ratio: 1 / .82;
  }

  .daily-deal-card__body {
    padding: 11px;
  }

  .daily-deal-card__prices strong {
    font-size: 21px;
  }

  .daily-deal-card h3 {
    font-size: 15px;
  }

  .daily-deal-card__add {
    width: 42px;
    height: 42px;
  }

  .bcard-off ~ .bcard-share-btn,
  .bcard-off + .bcard-destaque + .bcard-share-btn {
    top: 76px;
  }
}

/* ==========================================================================
   FILTROS
   ========================================================================== */
.filtro-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 8px;
  display: none;
}

.filtro-btn {
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  padding: 8px 10px;
  border-radius: var(--raio-pill);
  border: 1.5px solid rgba(181,101,29,0.3);
  background: #fff;
  color: #7a5c44;
  cursor: pointer;
  transition: var(--transition);
  white-space: nowrap;
}

.filtro-btn:hover { border-color: var(--cor-acento); color: var(--cor-acento); background: var(--cor-bg-muted); }
.filtro-btn--ativo { background: var(--cor-acento); border-color: var(--cor-acento); color: #fff; }
.filtro-btn--ativo:hover { background: var(--cor-acento-hover); border-color: var(--cor-acento-hover); }

/* ==========================================================================
   COMO FUNCIONA
   ========================================================================== */
.sec-como {
  background: var(--cor-bg-muted);
  padding: 72px 0;
}

.sec-title { text-align: center; margin-bottom: 8px; }
.sec-title h2 { font-size: 30px; font-weight: 800; letter-spacing: -0.5px; color: var(--cor-primaria-hover); }
.sec-title p  { font-size: 14px; color: #7a5c44; margin-top: 6px; }

.dep-divider {
  width: 48px;
  height: 2px;
  background: var(--cor-acento);
  margin: 16px auto 40px;
}

.como-grid {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
}

.como-item { flex: 1; text-align: center; padding: 0 24px; }
.como-numero { font-size: 11px; font-weight: 800; letter-spacing: 2px; color: var(--cor-acento); margin-bottom: 12px; }
.como-icone  { font-size: 40px; line-height: 1; margin-bottom: 16px; display: block; }
.como-titulo { font-size: 15px; font-weight: 700; color: var(--cor-primaria-hover); margin-bottom: 10px; }
.como-desc   { font-size: 13px; color: var(--cor-texto-muted); line-height: 1.7; margin: 0; }

.como-seta { font-size: 28px; color: #d9b99b; padding-top: 60px; flex-shrink: 0; font-weight: 300; }

@media (max-width: 768px) {
  .como-grid  { flex-direction: column; align-items: center; gap: 8px; }
  .como-seta  { transform: rotate(90deg); padding: 0; font-size: 22px; }
  .como-item  { padding: 16px 20px; max-width: 320px; }
  .sec-como   { padding: 48px 16px; }
}

/* ==========================================================================
   PLACEHOLDER DO CHEF
   ========================================================================== */
.chef-placeholder {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #f5ede4;
  border-radius: 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 0.5px solid var(--cor-borda-acento);
}

.chef-placeholder span { font-size: 80px; line-height: 1; }
.chef-placeholder p    { font-size: 16px; font-weight: 700; color: var(--cor-primaria); margin: 0; }

/* ==========================================================================
   SLIDER DE MARCAS
   ========================================================================== */
.sec-brands {
  background: #fff;
  padding: 48px 0;
  overflow: hidden;
  border-top: 0.5px solid rgba(0,0,0,0.07);
  border-bottom: 0.5px solid rgba(0,0,0,0.07);
}

.brands-label {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--cor-acento);
  margin-bottom: 28px;
}

.brands-track-wrap {
  overflow: hidden;
  position: relative;
}

.brands-track-wrap::before,
.brands-track-wrap::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 100px;
  z-index: 2;
  pointer-events: none;
}

.brands-track-wrap::before { left: 0;  background: linear-gradient(to right, #fff, transparent); }
.brands-track-wrap::after  { right: 0; background: linear-gradient(to left, #fff, transparent); }

.brands-track {
  display: flex;
  width: max-content;
  animation: brandScroll 22s linear infinite;
}

.brands-track:hover { animation-play-state: paused; }

@keyframes brandScroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.brand-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 24px;
  margin: 0 8px;
  border-radius: var(--raio-pill);
  border: 0.5px solid rgba(0,0,0,0.1);
  background: #fafafa;
  white-space: nowrap;
  transition: var(--transition);
  cursor: default;
}

.brand-pill:hover { border-color: var(--cor-acento); background: #fdf6ee; }
.brand-icon { font-size: 22px; line-height: 1; }
.brand-logo {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex: 0 0 24px;
}
.brand-name { font-size: 13px; font-weight: 600; color: #4a3728; line-height: 1.3; }
.brand-cat  { font-size: 10px; color: var(--cor-texto-suave); margin-top: 1px; }

/* ==========================================================================
   DEPOIMENTOS
   ========================================================================== */
.sec-dep {
  background: #fff;
  padding: 72px 32px;
}

.dep-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(0, calc(100vw - 40px));
  gap: 14px;
  max-width: 1100px;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  padding: 2px 20px 18px;
  scroll-snap-type: inline mandatory;
  scrollbar-color: rgba(72, 36, 24, .28) transparent;
}

.dep-card {
  background: #fff;
  border-radius: 14px;
  padding: 22px 18px;
  border: 0.5px solid rgba(181,101,29,0.15);
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 286px;
  position: relative;
  scroll-snap-align: start;
  transition: var(--transition);
}

.dep-card:hover { transform: translateY(-4px); box-shadow: var(--sombra-lg); }

.dep-quote {
  font-size: 48px;
  line-height: 1;
  color: #e8c9a8;
  position: absolute;
  top: 14px;
  right: 20px;
}

.dep-stars { display: flex; gap: 3px; }

.dep-star {
  width: 14px;
  height: 14px;
  background: linear-gradient(to right, var(--cor-dourado) var(--star-fill, 100%), #eadac6 var(--star-fill, 100%));
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.dep-star--parcial { background: linear-gradient(to right, var(--cor-dourado) 90%, #f0e6db 90%); }
.dep-star--muted { background: #eadac6; }

.dep-review-text {
  flex: 1;
  min-height: 84px;
}

.dep-review-text summary {
  display: block;
  cursor: pointer;
  list-style: none;
}

.dep-review-text summary::-webkit-details-marker {
  display: none;
}

.dep-review-text summary span {
  display: -webkit-box;
  overflow: hidden;
  color: var(--cor-texto-medio);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.dep-review-text summary em {
  display: inline-block;
  margin-top: 8px;
  color: var(--cor-acento);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-decoration: underline;
}

.dep-review-link {
  display: inline-flex;
  margin-top: 8px;
  color: var(--cor-acento);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-decoration: underline;
}

.dep-review-link:hover {
  color: var(--cor-primaria);
}

.dep-review-text[open] p {
  position: absolute;
  inset: 56px 20px 72px;
  z-index: 2;
  margin: 0;
  overflow-y: auto;
  padding: 14px;
  border: 1px solid #edd7bf;
  border-radius: 12px;
  background: #fffaf4;
  color: var(--cor-texto-medio);
  font-size: 13px;
  font-style: italic;
  line-height: 1.65;
}

.dep-review-text p {
  margin: 0;
}

.dep-review-text--short {
  display: -webkit-box;
  overflow: hidden;
  color: var(--cor-texto-medio);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.65;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.dep-author {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px 12px;
  min-height: 92px;
  padding-top: 14px;
  border-top: 0.5px solid rgba(0,0,0,0.07);
}

.dep-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
}

.dep-author-main {
  min-width: 0;
}

.dep-name {
  overflow: hidden;
  color: var(--cor-primaria-hover);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
}

.dep-info { font-size: 11px; color: var(--cor-texto-suave); margin-top: 2px; }

.dep-tag {
  max-width: 100%;
  overflow: hidden;
  font-size: 10px;
  font-weight: 600;
  color: var(--cor-acento);
  background: #fdf0e6;
  border: 0.5px solid var(--cor-borda-acento);
  padding: 3px 8px;
  border-radius: var(--raio-pill);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dep-badges {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 6px;
  min-width: 0;
  margin-left: 52px;
}

.dep-media {
  display: flex;
  align-items: center;
  gap: 32px;
  background: #fff;
  border: 0.5px solid rgba(181,101,29,0.15);
  border-radius: var(--raio-lg);
  padding: 24px 32px;
  max-width: 540px;
  margin: 24px auto 0;
}

.dep-media-nota { font-size: 56px; font-weight: 800; color: var(--cor-primaria-hover); letter-spacing: -2px; line-height: 1; flex-shrink: 0; }
.dep-media-info { flex: 1; }
.dep-media-stars { display: flex; gap: 3px; margin-bottom: 4px; }
.dep-media-texto { font-size: 12px; color: var(--cor-texto-suave); margin-bottom: 12px; }
.dep-media-barras { display: flex; flex-direction: column; gap: 4px; }

.dep-barra-row { display: flex; align-items: center; gap: 8px; font-size: 11px; color: var(--cor-texto-suave); }
.dep-barra-track { flex: 1; height: 6px; background: #f0e6db; border-radius: 3px; overflow: hidden; }
.dep-barra-fill  { height: 100%; background: var(--cor-dourado); border-radius: 3px; transition: width 1s ease; }

.dep-carousel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  max-width: 1100px;
  margin: 0 auto 12px;
}

.dep-carousel-head span {
  color: var(--cor-texto-muted);
  font-size: 12px;
  font-weight: 800;
}

.dep-carousel-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dep-carousel-controls a {
  color: var(--cor-acento);
  font-size: 12px;
  font-weight: 800;
  text-decoration: underline;
}

.dep-carousel-controls button {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e7cfb4;
  border-radius: 50%;
  background: #fff;
  color: var(--cor-primaria);
  font-size: 24px;
  line-height: 1;
  font-weight: 800;
}

.dep-review-form {
  display: grid;
  gap: 12px;
  max-width: 640px;
  margin: 22px auto 0;
  padding: 20px;
  background: #fffaf4;
  border: 1px solid #edd7bf;
  border-radius: 14px;
}

.dep-review-form__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.dep-review-form__head strong {
  display: block;
  color: var(--cor-texto-principal);
  font-size: 16px;
  font-weight: 850;
}

.dep-review-form__head span {
  display: block;
  margin-top: 2px;
  color: var(--cor-texto-muted);
  font-size: 12px;
}

.dep-review-form__head button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--cor-primaria);
  color: #fff;
  font-weight: 800;
}

.dep-review-form__stars {
  display: inline-flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 4px;
}

.dep-review-form__stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.dep-review-form__stars label {
  color: #e0c9ad;
  cursor: pointer;
  font-size: 28px;
  line-height: 1;
  transition: color .15s ease, transform .15s ease;
}

.dep-review-form__stars label:hover,
.dep-review-form__stars label:hover ~ label,
.dep-review-form__stars input:checked ~ label {
  color: var(--cor-dourado);
}

.dep-review-form__stars label:hover {
  transform: translateY(-1px);
}

.dep-review-form textarea,
.dep-review-form input[name="favorite_product"] {
  width: 100%;
  border: 1px solid #e7cfb4;
  border-radius: 10px;
  background: #fff;
  color: var(--cor-texto-principal);
  font: inherit;
  font-size: 13px;
}

.dep-review-form textarea {
  min-height: 96px;
  padding: 12px;
  resize: vertical;
}

.dep-review-form input[name="favorite_product"] {
  min-height: 42px;
  padding: 0 12px;
}

.dep-review-form__error {
  color: var(--cor-erro);
  font-size: 12px;
  font-weight: 700;
}

.dep-review-form__trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.dep-verified {
  max-width: 100%;
  overflow: hidden;
  color: #3b6d11;
  background: #edf7e5;
  border: 1px solid #cce6bd;
  border-radius: var(--raio-pill);
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reviews-page {
  min-height: calc(100vh - 74px);
  padding: 28px 16px 56px;
  background:
    linear-gradient(180deg, rgba(255, 250, 244, .96), rgba(255, 255, 255, 1) 52%),
    #fff8ee;
}

.reviews-page__inner {
  width: min(100%, 1120px);
  margin: 0 auto;
}

.reviews-page__back {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  color: var(--cor-acento);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.reviews-page__back::before {
  content: '‹';
  margin-right: 6px;
  font-size: 22px;
  line-height: 1;
}

.reviews-page__hero {
  margin: 22px 0 20px;
  text-align: center;
}

.reviews-page__hero span {
  display: block;
  margin-bottom: 8px;
  color: var(--cor-acento);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.8px;
  text-transform: uppercase;
}

.reviews-page__hero h1 {
  margin: 0;
  color: var(--cor-texto-principal);
  font-size: 28px;
  font-weight: 900;
  line-height: 1.12;
}

.reviews-page__hero p {
  max-width: 520px;
  margin: 10px auto 0;
  color: var(--cor-texto-muted);
  font-size: 14px;
  line-height: 1.6;
}

.reviews-page__summary {
  margin-bottom: 26px;
}

.reviews-page__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  max-width: 820px;
  margin: 0 auto;
}

.reviews-page__card {
  min-height: 0;
  padding: 22px;
}

.reviews-page__text {
  min-height: auto;
  margin: 0;
  color: var(--cor-texto-medio);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.7;
}

.reviews-page__pagination {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 24px;
}

.reviews-page__pagination p {
  margin: 0;
  color: var(--cor-texto-muted);
  font-size: 12px;
  text-align: center;
}

.reviews-page__pagination-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
}

.reviews-page__pagination-button,
.reviews-page__pagination-current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #e7cfb4;
  border-radius: 8px;
  background: #fff;
  color: var(--cor-acento);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}

.reviews-page__pagination-current {
  border-color: var(--cor-primaria);
  background: var(--cor-primaria);
  color: #fff;
}

.reviews-page__pagination-button.is-disabled {
  color: #b7a492;
  background: #fffaf4;
}

.reviews-page__empty {
  padding: 24px;
  border: 1px solid rgba(181,101,29,0.15);
  border-radius: 14px;
  background: #fff;
  color: var(--cor-texto-muted);
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

@media (min-width: 640px) {
  .reviews-page {
    padding-inline: 24px;
  }
}

@media (min-width: 980px) {
  .reviews-page {
    padding-top: 38px;
  }

  .reviews-page__hero h1 {
    font-size: 38px;
  }
}

@media (min-width: 769px) {
  .dep-grid {
    grid-auto-columns: calc((100% - 40px) / 3);
    gap: 20px;
    width: auto;
    margin: 0 auto;
    padding-inline: 2px;
  }

  .dep-card {
    min-height: 292px;
    padding: 24px;
  }
}

@media (max-width: 768px) {
  .sec-dep  { padding: 48px 20px; }
  .dep-review-form__head {
    align-items: stretch;
    flex-direction: column;
  }
  .dep-review-form__head button {
    width: 100%;
  }
}

@media (max-width: 576px) {
  .dep-media         { flex-direction: column; gap: 16px; padding: 20px; text-align: center; }
  .dep-media-stars   { justify-content: center; }
  .dep-media-barras  { width: 100%; }
  .dep-review-form {
    padding: 16px;
  }
  .dep-review-form__stars {
    justify-content: center;
  }
  .dep-badges {
    margin-left: 0;
  }
}

/* ==========================================================================
   NEWSLETTER / LEADS
   ========================================================================== */
.sec-leads {
  background: var(--cor-primaria);
  padding: 72px 32px;
  position: relative;
  overflow: hidden;
}

.sec-leads::before {
  content: '🍫';
  position: absolute;
  font-size: 240px;
  opacity: 0.05;
  top: -20px;
  right: -10px;
  line-height: 1;
  pointer-events: none;
}

.leads-inner { max-width: 560px; margin: 0 auto; text-align: center; position: relative; z-index: 1; }

.leads-tag {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--cor-dourado);
  background: rgba(239,159,39,0.12);
  border: 0.5px solid rgba(239,159,39,0.3);
  padding: 5px 14px;
  border-radius: var(--raio-pill);
  margin-bottom: 20px;
}

.leads-titulo { font-size: 28px; font-weight: 800; color: #fff; letter-spacing: -0.5px; line-height: 1.25; margin-bottom: 12px; }
.leads-titulo span { color: var(--cor-dourado); }
.leads-sub { font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.7; margin-bottom: 32px; }

.leads-form { display: flex; flex-direction: column; gap: 12px; }

.leads-input {
  width: 100%;
  padding: 14px 18px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.07);
  color: #fff;
  font-size: 14px;
  font-family: 'Inter', sans-serif;
  outline: none;
  transition: border-color 0.2s, background 0.2s;
}

.leads-input::placeholder { color: rgba(255,255,255,0.35); }
.leads-input:focus { border-color: var(--cor-dourado); background: rgba(255,255,255,0.1); }

.leads-btn {
  width: 100%;
  padding: 14px;
  border-radius: 10px;
  border: none;
  background: var(--cor-acento);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  transition: background 0.2s, transform 0.15s;
}

.leads-btn:hover    { background: var(--cor-acento-hover); transform: translateY(-1px); }
.leads-btn:disabled { opacity: 0.6; cursor: not-allowed; transform: none; }

.leads-feedback     { font-size: 13px; margin-top: 10px; min-height: 20px; }
.leads-feedback--ok { color: #9FE1CB; }
.leads-feedback--erro { color: #F09595; }
.leads-note  { font-size: 11px; color: rgba(255,255,255,0.72); margin-top: 16px; }

.leads-contador { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 20px; font-size: 12px; color: rgba(255,255,255,0.74); }
.leads-contador-dot { display: flex; gap: 4px; }
.leads-contador-dot span { width: 6px; height: 6px; border-radius: 50%; background: rgba(239,159,39,0.5); }

.whatsapp-vip-card {
  position: relative;
  grid-column: 1;
  grid-row: 1 / span 4;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: 34px 28px;
  overflow: hidden;
  border: 1px solid rgba(239, 159, 39, .32);
  border-radius: 22px;
  background: linear-gradient(145deg, #fffaf4, #f4e8d9);
  color: var(--cor-texto-principal);
  text-align: center;
  box-shadow: 0 18px 42px rgba(30, 12, 7, .18);
}

.whatsapp-vip-card::before,
.whatsapp-vip-card::after {
  position: absolute;
  color: rgba(180, 98, 24, .12);
  font-size: 92px;
  line-height: 1;
  content: '✦';
}

.whatsapp-vip-card::before { top: -20px; right: -12px; }
.whatsapp-vip-card::after { bottom: -30px; left: -10px; transform: rotate(22deg); }

.whatsapp-vip-card__eyebrow {
  position: relative;
  z-index: 1;
  margin-bottom: 10px;
  color: var(--cor-acento);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.whatsapp-vip-card__icons {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 10px;
}

.whatsapp-vip-card__icons img {
  width: 68px;
  height: 68px;
  border-radius: 18px;
  box-shadow: 0 8px 18px rgba(50, 23, 11, .12);
}

.whatsapp-vip-card__icons i {
  display: grid;
  width: 30px;
  height: 30px;
  margin: 0 0 -3px -13px;
  border: 3px solid #fffaf4;
  border-radius: 50%;
  place-items: center;
  background: var(--cor-acento);
  color: #fff;
  font-size: 17px;
}

.whatsapp-vip-card h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--cor-texto-principal);
  font-size: 22px;
  font-weight: 800;
}

.whatsapp-vip-card p {
  position: relative;
  z-index: 1;
  max-width: 300px;
  margin: 8px 0 18px;
  color: rgba(72, 36, 24, .78);
  font-size: 13px;
  line-height: 1.45;
}

.whatsapp-vip-card__button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 10px 18px;
  border-radius: 10px;
  background: var(--cor-acento);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .2s ease, background .2s ease;
}

.whatsapp-vip-card__button:hover,
.whatsapp-vip-card__button:focus-visible {
  background: #7a3511;
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 768px) {
  .sec-leads    { padding: 48px 20px; }
  .leads-titulo { font-size: 22px; }

  .whatsapp-vip-card {
    min-height: 0;
    margin-bottom: 22px;
  }
}

/* ==========================================================================
   FAQ
   ========================================================================== */
.sec-faq { background: #fff; padding: 72px 0; }

.faq-lista { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: 8px; }

.faq-item {
  border: 0.5px solid rgba(181,101,29,0.2);
  border-radius: var(--raio-md);
  overflow: hidden;
  transition: var(--transition);
}

.faq-item--aberto { border-color: var(--cor-acento); box-shadow: 0 4px 12px rgba(181,101,29,0.1); }

.faq-pergunta {
  width: 100%;
  background: #fff;
  border: none;
  padding: 18px 20px;
  font-size: 14px;
  font-weight: 600;
  color: var(--cor-primaria-hover);
  text-align: left;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-family: 'Inter', sans-serif;
  transition: background 0.15s;
}

.faq-pergunta:hover { background: var(--cor-bg-muted); }
.faq-item--aberto .faq-pergunta { background: var(--cor-bg-muted); color: var(--cor-acento); }

.faq-icone { font-size: 20px; font-weight: 400; color: var(--cor-acento); flex-shrink: 0; transition: transform 0.25s ease; line-height: 1; }
.faq-item--aberto .faq-icone { transform: rotate(45deg); }

.faq-resposta { padding: 0 20px 18px; font-size: 13.5px; color: var(--cor-texto-muted); line-height: 1.75; background: var(--cor-bg-muted); }

@media (max-width: 768px) {
  .sec-faq      { padding: 48px 16px; }
  .faq-pergunta { font-size: 13px; padding: 16px; }
  .faq-resposta { font-size: 13px; padding: 0 16px 16px; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer {
  background: #fff;
  color: var(--cor-primaria-hover);
  font-family: 'Inter', sans-serif;
  padding: 0;
/*   margin-top: 4rem; */
}

.footer-inner { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

.footer-main {
  background: #1a0a00;
  color: #fff;
  padding: 64px 0 18px;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 48px;
  padding-bottom: 32px;
  border-bottom: 0.5px solid rgba(255,255,255,0.1);
}

.footer-brand-name { font-size: 22px; font-weight: 800; letter-spacing: -0.5px; color: var(--cor-dourado); margin-bottom: 12px; display: flex; align-items: center; gap: 10px; }
.footer-tagline    { font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.7; margin-bottom: 20px; max-width: 240px; }

.footer-social { display: flex; gap: 10px; margin-bottom: 20px; }

.footer-social-btn {
  width: 38px;
  height: 38px;
  border-radius: var(--raio-sm);
  border: 0.5px solid rgba(255,255,255,0.15);
  background: rgba(255,255,255,0.05);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: var(--transition);
}

.footer-social-btn:hover { background: var(--cor-acento); border-color: var(--cor-acento); }

.footer-badges { display: flex; gap: 8px; flex-wrap: wrap; }

.footer-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(255,255,255,0.05);
  border: 0.5px solid rgba(255,255,255,0.1);
  border-radius: var(--raio-pill);
  padding: 5px 10px;
  font-size: 10px;
  color: rgba(255,255,255,0.6);
}

.footer-col-title { font-size: 11px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--cor-dourado); margin-bottom: 20px; }

.footer-links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }

.footer-links a {
  font-size: 13px;
  color: rgba(255,255,255,0.6);
  text-decoration: none;
  transition: color 0.2s;
  display: flex;
  align-items: center;
  gap: 8px;
}

.footer-links a::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: var(--cor-acento); opacity: 0.6; flex-shrink: 0; }
.footer-links a:hover { color: var(--cor-dourado); }

.footer-contact-item { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }

.footer-contact-icon {
  width: 34px;
  height: 34px;
  border-radius: var(--raio-sm);
  background: rgba(181,101,29,0.2);
  border: 0.5px solid rgba(181,101,29,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}

.footer-contact-label { font-size: 10px; color: rgba(255,255,255,0.64); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 3px; }
.footer-contact-value { font-size: 13px; color: rgba(255,255,255,0.8); font-weight: 500; }
.footer-contact-value a { color: rgba(255,255,255,0.8); text-decoration: none; transition: color 0.2s; }
.footer-contact-value a:hover { color: var(--cor-dourado); }

.footer-mid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0 0;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-mid-text { font-size: 12px; color: rgba(255,255,255,0.4); margin: 0; }
.footer-mid-text strong { color: var(--cor-dourado); }

.footer-secure {
  background: #fff;
  padding: 28px 0 18px;
}

.footer-payment {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  width: 100%;
  padding: 0;
}
.footer-payment-label { font-size: 16px; color: #10161a; font-weight: 800; }

.footer-payment-icon {
  min-width: 42px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.footer-payment-icon--pix { color: #087b68; font-size: 13px; letter-spacing: 0; text-transform: none; }
.footer-payment-icon--amex span { border: 1.5px solid #075fa3; border-radius: 2px; color: #075fa3; padding: 2px 3px; font-size: 8px; }
.footer-payment-icon--visa { color: #114f95; font-size: 16px; font-style: italic; }
.footer-payment-icon--hipercard span { background: #b20f20; border-radius: 2px; color: #fff; padding: 4px 6px; font-size: 7px; text-transform: none; }
.footer-payment-icon--elo { gap: 3px; color: #2b2b2b; font-size: 15px; text-transform: lowercase; }

.footer-card-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.footer-card-mark--mastercard {
  position: relative;
  width: 36px;
  height: 22px;
}

.footer-card-mark--mastercard i {
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

.footer-card-mark--mastercard i:first-child { left: 4px; background: #eb001b; }
.footer-card-mark--mastercard i:last-child { right: 4px; background: #f79e1b; opacity: 0.9; }

.footer-card-mark--elo { gap: 2px; }
.footer-card-mark--elo i { width: 6px; height: 6px; border-radius: 50%; }
.footer-card-mark--elo i:nth-child(1) { background: #f7a600; }
.footer-card-mark--elo i:nth-child(2) { background: #009fe3; }
.footer-card-mark--elo i:nth-child(3) { background: #ef4123; }

.footer-card-mark--diners {
  width: 38px;
  height: 20px;
  border-radius: 12px;
  background: #245aa6;
  position: relative;
}

.footer-card-mark--diners i {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 5px 0 0 #245aa6;
}

.footer-security-seal {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(31, 128, 73, 0.35);
  background: rgba(232, 255, 241, 0.95);
  color: #0f6c37;
  padding: 5px 10px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.footer-security-seal--protected {
  border-color: rgba(13, 91, 171, 0.35);
  background: rgba(235, 246, 255, 0.96);
  color: #0d5bab;
}

.footer-bottom { padding: 18px 0 24px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; border-top: 1px solid rgba(72,36,24,0.12); }
.footer-copy   { font-size: 12px; color: #6f5a4d; margin: 0; }
.footer-legal  { display: flex; gap: 20px; }
.footer-legal a { font-size: 11px; color: #6f5a4d; text-decoration: none; transition: color 0.2s; }
.footer-legal a:hover { color: var(--cor-primaria-hover); }

@media (max-width: 768px) {
  .footer-top   { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-inner { padding: 0 20px; }
  .footer-mid   { flex-direction: column; align-items: flex-start; gap: 12px; }
  .footer-payment { gap: 12px; }
}

@media (max-width: 480px) {
  .footer-top    { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .sec-title h2  { font-size: 24px; }
}

/* ==========================================================================
   HOME COMPACTA
   ========================================================================== */
.sec-como {
  padding: 46px 0 42px;
}

.sec-como .sec-title h2,
.sec-dep .sec-title h2,
.sec-faq .sec-title h2 {
  font-size: clamp(22px, 3vw, 28px);
}

.sec-como .sec-title p,
.sec-dep .sec-title p,
.sec-faq .sec-title p {
  margin-top: 4px;
  font-size: 13px;
}

.sec-como .dep-divider,
.sec-dep .dep-divider,
.sec-faq .dep-divider {
  margin: 12px auto 26px;
}

.como-grid {
  max-width: 860px;
}

.como-item {
  padding: 0 18px;
}

.como-numero {
  margin-bottom: 8px;
}

.como-icone {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  margin-bottom: 12px;
  border-radius: 14px;
  background: #fff7ed;
  border: 1px solid rgba(181,101,29,.12);
  box-shadow: 0 10px 26px rgba(72,36,24,.06);
  font-size: 24px;
}

.como-titulo {
  margin-bottom: 6px;
  font-size: 14px;
}

.como-desc {
  display: -webkit-box;
  overflow: hidden;
  font-size: 12.5px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.como-seta {
  padding-top: 46px;
  font-size: 20px;
}

.sec-brands {
  padding: 28px 0;
}

.brands-label {
  margin-bottom: 16px;
  font-size: 10px;
}

.brand-pill {
  padding: 9px 18px;
}

.sec-dep {
  padding: 46px 24px;
}

.dep-media {
  max-width: 460px;
  gap: 22px;
  margin-top: 18px;
  padding: 18px 24px;
}

.dep-media-nota {
  font-size: 42px;
}

.dep-grid {
  max-width: 980px;
  gap: 14px;
}

.dep-card {
  gap: 12px;
  padding: 20px;
}

.dep-quote {
  top: 10px;
  right: 16px;
  font-size: 34px;
}

.dep-review-text summary span,
.dep-review-text--short {
  display: -webkit-box;
  overflow: hidden;
  font-size: 12.5px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.dep-author {
  padding-top: 10px;
}

.dep-avatar {
  width: 34px;
  height: 34px;
}

.sec-leads {
  padding: 46px 24px;
}

.sec-leads::before {
  font-size: 160px;
}

.leads-inner {
  max-width: 860px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 24px;
  align-items: center;
  text-align: left;
}

.leads-tag {
  margin-bottom: 12px;
}

.leads-titulo {
  margin-bottom: 8px;
  font-size: clamp(24px, 3.8vw, 34px);
}

.leads-titulo br {
  display: none;
}

.leads-sub {
  margin-bottom: 0;
  font-size: 13px;
  line-height: 1.55;
}

.leads-inner form {
  width: 100%;
}

.leads-form {
  gap: 10px;
}

.leads-input,
.leads-btn {
  min-height: 44px;
  padding: 11px 14px;
}

.leads-note,
.leads-contador {
  grid-column: 2;
  justify-content: flex-start;
  margin: 0;
}

.leads-note {
  margin-top: -10px;
}

.sec-faq {
  padding: 46px 16px;
}

.faq-lista {
  max-width: 920px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.faq-pergunta {
  min-height: 48px;
  padding: 14px 16px;
}

.faq-resposta {
  padding: 0 16px 14px;
  font-size: 13px;
  line-height: 1.55;
}

footer {
  padding-top: 0;
}

.footer-top {
  gap: 30px;
  padding-bottom: 30px;
}

.footer-brand-name {
  margin-bottom: 8px;
}

.footer-tagline {
  margin-bottom: 14px;
  line-height: 1.55;
}

.footer-social,
.footer-col-title {
  margin-bottom: 14px;
}

.footer-links {
  gap: 8px;
}

.footer-contact-item {
  margin-bottom: 12px;
}

.footer-mid {
  padding: 14px 0 0;
}

.footer-bottom {
  padding: 14px 0 20px;
}

@media (max-width: 768px) {
  .sec-como,
  .sec-dep,
  .sec-leads,
  .sec-faq {
    padding-top: 34px;
    padding-bottom: 34px;
  }

  .sec-como .dep-divider,
  .sec-dep .dep-divider,
  .sec-faq .dep-divider {
    margin-bottom: 18px;
  }

  .como-grid {
    gap: 10px;
  }

  .como-item {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    column-gap: 14px;
    padding: 14px 16px;
    border: 1px solid rgba(181,101,29,.12);
    border-radius: 16px;
    background: #fff;
    text-align: left;
  }

  .como-numero {
    grid-column: 2;
    margin: 0 0 2px;
  }

  .como-icone {
    grid-row: 1 / span 3;
    margin: 0;
  }

  .como-titulo {
    grid-column: 2;
    margin: 0 0 4px;
  }

  .como-desc {
    grid-column: 2;
    -webkit-line-clamp: 2;
  }

  .como-seta {
    display: none;
  }

  .sec-brands {
    padding: 20px 0;
  }

  .dep-media {
    flex-direction: row;
    gap: 16px;
    padding: 16px;
    text-align: left;
  }

  .dep-media-stars {
    justify-content: flex-start;
  }

  .dep-grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, calc(100vw - 40px));
    gap: 12px;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    overflow-x: auto;
    padding: 2px 20px 10px;
    scroll-snap-type: x mandatory;
  }

  .dep-card {
    min-width: 0;
    scroll-snap-align: start;
  }

  .reviews-page__grid {
    display: grid;
    grid-template-columns: 1fr;
    width: auto;
    max-width: 820px;
    margin: 0 auto;
    padding: 0;
    overflow: visible;
  }

  .leads-inner {
    display: block;
    max-width: 440px;
    text-align: center;
  }

  .leads-sub {
    margin-bottom: 18px;
  }

  .leads-note,
  .leads-contador {
    justify-content: center;
    margin-top: 12px;
  }

  .faq-lista {
    grid-template-columns: 1fr;
  }

  footer {
    padding-top: 32px;
  }

  .footer-top {
    gap: 24px;
    padding-bottom: 24px;
  }
}

.reviews-page .reviews-page__grid {
  grid-auto-flow: row;
  grid-auto-columns: auto;
  grid-template-columns: 1fr;
  width: min(100%, 820px);
  max-width: 820px;
  margin: 0 auto;
  overflow: visible;
  padding: 0;
}

.reviews-page .reviews-page__text {
  display: block;
  min-height: auto;
  overflow: visible;
  color: var(--cor-texto-medio);
  font-size: 13.5px;
  font-style: italic;
  line-height: 1.7;
  -webkit-line-clamp: initial;
}

.reviews-page .dep-review-text[open] p {
  position: static;
  inset: auto;
  overflow: visible;
  padding: 0;
  border: 0;
  background: transparent;
}

/* ==========================================================================
   CHATBOT FLUTUANTE
   ========================================================================== */
#chat-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--cor-acento);
  color: #fff;
  border: none;
  text-decoration: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(181,101,29,0.45);
  z-index: 1100;
  transition: transform 0.2s, box-shadow 0.2s;
}

#chat-fab:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(181,101,29,0.55); }
#chat-fab svg  { width: 26px; height: 26px; }

.social-fab-group {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 1100;
  display: grid;
  gap: 12px;
  opacity: 0;
  transform: translateY(14px);
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.social-fab-group.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.social-fab,
#chat-fab.social-fab {
  position: static;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(43, 24, 16, .18);
  transition: transform .18s ease, box-shadow .18s ease;
}

.social-fab:hover,
#chat-fab.social-fab:hover {
  color: #fff;
  transform: translateY(-2px) scale(1.04);
  box-shadow: 0 18px 32px rgba(43, 24, 16, .24);
}

.social-fab--whatsapp,
#chat-fab.social-fab--whatsapp {
  background: #25d366;
  animation: whatsappPulse 2.1s ease-in-out infinite;
}

.social-fab--instagram {
  background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 12%, #fd5949 42%, #d6249f 68%, #285aeb 100%);
  font-size: 1.55rem;
}

#chat-fab.social-fab svg {
  width: 27px;
  height: 27px;
}

@keyframes whatsappPulse {
  0%, 100% {
    box-shadow: 0 14px 28px rgba(43, 24, 16, .18), 0 0 0 0 rgba(37, 211, 102, .34);
  }

  50% {
    box-shadow: 0 18px 34px rgba(43, 24, 16, .22), 0 0 0 12px rgba(37, 211, 102, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .social-fab--whatsapp,
  #chat-fab.social-fab--whatsapp {
    animation: none;
  }
}

.chat-fab-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 19px;
  height: 19px;
  background: var(--cor-erro);
  border-radius: 50%;
  border: 2px solid #fff;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
}

@keyframes chatPulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(181,101,29,0.45); }
  50%       { box-shadow: 0 4px 28px rgba(181,101,29,0.75); transform: scale(1.06); }
}

.chat-fab--pulse { animation: chatPulse 1.8s ease-in-out infinite; }

/* Carrinho por voz */
.voice-cart {
  position: fixed;
  right: 28px;
  bottom: 176px;
  z-index: 1101;
  display: grid;
  justify-items: end;
  gap: 10px;
}

.voice-cart__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 13px 16px;
  background: #7b2f1a;
  color: #fff;
  font-weight: 800;
  box-shadow: 0 14px 28px rgba(43, 24, 16, .2);
}
.voice-cart__microphone { width: 20px; height: 20px; fill: currentColor; }

.voice-cart__trigger:focus-visible,
.voice-cart__feedback button:focus-visible { outline: 3px solid #f6c86c; outline-offset: 3px; }
.voice-cart[data-state='listening'] .voice-cart__trigger { background: #b33b2e; animation: whatsappPulse 1.2s ease-in-out infinite; }
.voice-cart[data-state='processing'] .voice-cart__trigger { opacity: .75; }
.voice-cart__feedback { width: min(310px, calc(100vw - 32px)); padding: 14px; border-radius: 14px; background: #fffdf9; color: #3f2418; box-shadow: 0 14px 28px rgba(43, 24, 16, .18); font-size: 14px; }
.voice-cart__feedback p { margin: 0 0 10px; font-weight: 700; }
.voice-cart__feedback button { margin-right: 8px; border: 0; border-radius: 999px; padding: 7px 11px; background: #7b2f1a; color: #fff; font-weight: 800; }
@media (max-width: 767px) {
  .voice-cart { right: 16px; bottom: calc(82px + env(safe-area-inset-bottom)); }
  .voice-cart__label { display: none; }
  .voice-cart__trigger { width: 54px; height: 54px; justify-content: center; padding: 0; }
}

.chat-window {
  position: fixed;
  bottom: 100px;
  right: 28px;
  width: 360px;
  max-width: calc(100vw - 32px);
  background: #fff;
  border-radius: 20px;
  border: 0.5px solid rgba(0,0,0,0.1);
  box-shadow: 0 8px 40px rgba(0,0,0,0.15);
  overflow: hidden;
  z-index: 1099;
  display: none;
  flex-direction: column;
  transition: opacity 0.2s, transform 0.2s;
  opacity: 0;
  transform: translateY(12px) scale(0.97);
}

.chat-window--open { display: flex; opacity: 1; transform: translateY(0) scale(1); }

.chat-header { background: var(--cor-primaria); padding: 14px 16px; display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.chat-avatar { width: 40px; height: 40px; border-radius: 50%; background: var(--cor-acento); display: flex; align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0; }
.chat-header-info { flex: 1; }
.chat-header-name { font-size: 14px; font-weight: 700; color: #fff; }
.chat-header-status { font-size: 11px; color: rgba(255,255,255,0.6); display: flex; align-items: center; gap: 5px; margin-top: 2px; }
.chat-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #4caf50; display: inline-block; flex-shrink: 0; }
.chat-close { background: none; border: none; cursor: pointer; color: rgba(255,255,255,0.55); font-size: 18px; padding: 4px 6px; border-radius: 6px; transition: color 0.15s; line-height: 1; }
.chat-close:hover { color: #fff; }

.chat-messages {
  background: var(--cor-bg-muted);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 320px;
  overflow-y: auto;
  scroll-behavior: smooth;
}

.chat-messages::-webkit-scrollbar { width: 4px; }
.chat-messages::-webkit-scrollbar-thumb { background: #d9b99b; border-radius: 4px; }

.msg { display: flex; gap: 8px; align-items: flex-end; max-width: 88%; }
.msg--bot  { align-self: flex-start; }
.msg--user { align-self: flex-end; flex-direction: row-reverse; }

.msg-avatar { width: 28px; height: 28px; border-radius: 50%; background: var(--cor-acento); display: flex; align-items: center; justify-content: center; font-size: 13px; flex-shrink: 0; }

.msg-bubble { padding: 10px 14px; border-radius: 16px; font-size: 13px; line-height: 1.6; }
.msg--bot  .msg-bubble { background: #fff; border: 0.5px solid var(--cor-borda-suave); border-bottom-left-radius: 4px; color: var(--cor-primaria-hover); }
.msg--user .msg-bubble { background: var(--cor-primaria); color: #fff; border-bottom-right-radius: 4px; }

.typing { display: flex; gap: 4px; align-items: center; padding: 4px 2px; }
.typing span { width: 7px; height: 7px; border-radius: 50%; background: var(--cor-acento); animation: typingBounce 1.2s infinite; }
.typing span:nth-child(2) { animation-delay: 0.2s; }
.typing span:nth-child(3) { animation-delay: 0.4s; }

@keyframes typingBounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30%            { transform: translateY(-6px); opacity: 1; }
}

.chat-suggestions { padding: 10px 12px; display: flex; gap: 6px; flex-wrap: wrap; border-top: 0.5px solid rgba(0,0,0,0.06); background: #fff; flex-shrink: 0; }

.chat-sugg {
  font-size: 11px;
  font-weight: 500;
  color: var(--cor-acento);
  background: #fdf0e6;
  border: 0.5px solid var(--cor-borda-acento);
  border-radius: var(--raio-pill);
  padding: 5px 10px;
  cursor: pointer;
  transition: background 0.15s;
  white-space: nowrap;
  font-family: 'Inter', sans-serif;
}

.chat-sugg:hover { background: #f5e0cb; }

.chat-input-row { display: flex; align-items: center; gap: 8px; padding: 12px 14px; border-top: 0.5px solid rgba(0,0,0,0.08); background: #fff; flex-shrink: 0; }

.chat-input {
  flex: 1;
  border: 0.5px solid var(--cor-borda-media);
  border-radius: 24px;
  padding: 9px 14px;
  font-size: 13px;
  font-family: 'Inter', sans-serif;
  outline: none;
  background: #fafafa;
  color: var(--cor-primaria-hover);
  transition: border-color 0.15s;
}

.chat-input:focus { border-color: var(--cor-acento); background: #fff; }

.chat-send { width: 36px; height: 36px; border-radius: 50%; background: var(--cor-acento); border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.15s; flex-shrink: 0; }
.chat-send:hover    { background: var(--cor-acento-hover); }
.chat-send:disabled { opacity: 0.5; cursor: not-allowed; }
.chat-send svg      { width: 15px; height: 15px; }

.chat-action-btn {
  display: block;
  margin-top: 10px;
  padding: 8px 14px;
  background: var(--cor-acento);
  color: #fff;
  border-radius: var(--raio-sm);
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  text-align: center;
  transition: background 0.15s;
}

.chat-action-btn:hover { background: var(--cor-acento-hover); color: #fff; }

@media (max-width: 480px) {
  .chat-window { bottom: 90px; right: 12px; left: 12px; width: auto; max-width: 100%; }
  #chat-fab    { bottom: 20px; right: 16px; }
}

/* ==========================================================================
   COOKIES – LGPD
   ========================================================================== */
.cookie-banner {
  position: fixed;
  right: 50%;
  bottom: 12px;
  left: auto;
  z-index: 2000;
  width: min(1150px, calc(100vw - 32px));
  padding: 16px;
  background: #4a2a1d;
  border: 1px solid rgba(255,238,214,0.12);
  border-radius: 14px;
  box-shadow: 0 18px 54px rgba(25,14,9,0.28);
  box-sizing: border-box;
  transform: translateX(50%);
  animation: cookieEntrar 0.32s ease;
}

.cookie-banner--saindo { animation: cookieSair 0.28s ease forwards; }

@keyframes cookieEntrar {
  from { opacity: 0; transform: translate(50%, 16px); }
  to   { opacity: 1; transform: translate(50%, 0); }
}

@keyframes cookieSair {
  from { opacity: 1; transform: translate(50%, 0); }
  to   { opacity: 0; transform: translate(50%, 16px); }
}

.cookie-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin: 0 auto; }
.cookie-texto { display: grid; gap: 8px; flex: 1 1 auto; min-width: 0; color: #fff8ef; }
.cookie-texto strong { font-size: 15px; font-weight: 850; }
.cookie-texto p { max-width: 720px; font-size: 13px; color: rgba(255,248,239,0.9); line-height: 1.45; font-weight: 700; margin: 0; }
.cookie-link { color: #fff8ef; font-weight: 950; text-decoration: underline; text-underline-offset: 3px; }
.cookie-link:hover { color: #fff; }
.cookie-preferencias { display: none; flex-wrap: wrap; gap: 10px 14px; }
.cookie-banner--expandido .cookie-preferencias { display: flex; }
.cookie-preferencias label { display: inline-flex; align-items: center; gap: 5px; margin: 0; color: #fff8ef; font-size: 13px; line-height: 1; font-weight: 850; }
.cookie-preferencias input { width: 13px; height: 13px; accent-color: #d88a2d; }
.cookie-acoes { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }

.cookie-btn { min-height: 44px; padding: 0 19px; border-radius: 999px; border: none; cursor: pointer; color: #fff; font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 850; transition: var(--transition); white-space: nowrap; }
.cookie-btn--recusar,
.cookie-btn--secundario { background: rgba(255,255,255,0.14); }
.cookie-btn--aceitar,
.cookie-btn--salvar { background: #d98a2d; }
.cookie-btn--salvar { display: none; }
.cookie-banner--expandido .cookie-btn--salvar { display: inline-flex; align-items: center; }
.cookie-btn:hover { filter: brightness(1.06); }

@media (max-width: 576px) {
  .cookie-banner { right: 50%; bottom: 8px; left: auto; width: calc(100vw - 18px); padding: 10px; border-radius: 14px; }
  .cookie-inner,
  .cookie-acoes  { align-items: stretch; flex-direction: column; }
  .cookie-inner { gap: 10px; }
  .cookie-texto { gap: 4px; }
  .cookie-texto strong { font-size: 13px; }
  .cookie-texto p { max-width: none; font-size: 11px; line-height: 1.3; }
  .cookie-acoes  { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: 100%; }
  .cookie-banner--expandido .cookie-acoes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cookie-btn    { min-height: 36px; padding-inline: 8px; font-size: 11px; text-align: center; }
}

.legal-page {
  background: #faf7f0;
  padding: 52px 0 72px;
}

.legal-shell {
  max-width: 860px;
  margin: 0 auto;
  padding: 34px;
  border: 1px solid rgba(72, 36, 24, .1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(43, 24, 16, .08);
}

.legal-kicker {
  color: #bd6818;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.legal-shell h1 {
  margin: 10px 0 6px;
  color: #2c160f;
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 950;
  letter-spacing: 0;
}

.legal-updated {
  color: #8a6a55;
  font-weight: 700;
}

.legal-shell h2 {
  margin: 28px 0 8px;
  color: #3f2418;
  font-size: 1.18rem;
  font-weight: 900;
}

.legal-shell p {
  color: #5e493d;
  line-height: 1.75;
}

.legal-shell a {
  color: #bd6818;
  font-weight: 800;
}

@media (max-width: 576px) {
  .legal-page {
    padding: 28px 0 48px;
  }

  .legal-shell {
    padding: 22px;
  }
}

.app-purpose-section {
  background: #fffaf2;
  border-bottom: 1px solid rgba(72, 36, 24, .08);
  padding: 12px 0;
}

.app-purpose-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 12px 0;
  border-radius: 8px;
  color: #3f2418;
}

.app-purpose-copy {
  display: grid;
  grid-template-columns: 36px minmax(0, auto);
  column-gap: 12px;
  align-items: center;
}

.app-purpose-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-row: span 2;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: #f3dfc3;
  color: #7a3f16;
  font-size: 18px;
}

.app-purpose-card h2 {
  margin: 0;
  color: #2c160f;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
}

.app-purpose-card p {
  max-width: 820px;
  margin: 2px 0 0;
  color: #6b5744;
  font-size: .88rem;
  line-height: 1.45;
}

.app-purpose-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  min-width: 250px;
}

.app-purpose-actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 8px;
  color: #5a3928;
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.app-purpose-actions a:hover {
  transform: translateY(-1px);
  border-color: rgba(181, 101, 29, .35);
  color: #2c160f;
  background: rgba(255, 255, 255, .7);
}

.app-purpose-actions .app-purpose-actions__primary {
  background: #ef9f27;
  border-color: #ef9f27;
  color: #2c160f;
  box-shadow: 0 8px 18px rgba(181, 101, 29, .18);
}

.app-purpose-actions .app-purpose-actions__primary:hover {
  background: #fac775;
  border-color: #fac775;
  color: #2c160f;
}

@media (max-width: 576px) {
  .app-purpose-section {
    padding: 12px 0;
  }

  .app-purpose-card {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0;
  }

  .app-purpose-card h2 {
    font-size: .98rem;
  }

  .app-purpose-card p {
    font-size: .84rem;
  }

  .app-purpose-actions {
    justify-content: stretch;
    min-width: 0;
  }

  .app-purpose-actions a {
    width: 100%;
  }
}

/* ==========================================================================
   CARRINHO DRAWER
   ========================================================================== */
body.drawer-aberto { overflow: hidden; }

.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0); z-index: 1200; pointer-events: none; transition: background 0.3s ease; }
.drawer-overlay--ativo { background: rgba(0,0,0,0.5); pointer-events: all; }

.floating-cart {
  position: fixed;
  left: 50%;
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 1100;
  width: min(392px, calc(100vw - 28px));
  min-height: 58px;
  transform: translate(-50%, 18px);
  display: grid;
  grid-template-columns: 1fr auto auto;
  align-items: center;
  gap: 12px;
  padding: 10px 12px 10px 16px;
  border: 0;
  border-radius: 22px;
  background: #080605;
  color: #fff;
  box-shadow: 0 16px 34px rgba(0, 0, 0, .22);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease, transform .2s ease;
}

.floating-cart.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.floating-cart__info {
  display: grid;
  min-width: 0;
  text-align: left;
}

.floating-cart__info strong {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.15;
}

.floating-cart__info small {
  color: rgba(255, 255, 255, .68);
  font-size: 11px;
  font-weight: 600;
}

.floating-cart__total {
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.floating-cart__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 38px;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 13px;
  font-weight: 900;
}

.carrinho-drawer {
  position: fixed;
  top: 0; right: 0; bottom: 0;
  width: 420px;
  max-width: 100vw;
  background: #fff;
  z-index: 1300;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: -8px 0 40px rgba(0,0,0,0.18);
  transform: translateX(100%);
  transition: transform 0.32s cubic-bezier(0.25,0.8,0.25,1);
}

.carrinho-drawer.drawer--aberto { transform: translateX(0); }

.drawer-header { background: var(--cor-primaria); padding: 18px 20px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.drawer-titulo { font-size: 15px; font-weight: 700; color: #fff; display: flex; align-items: center; gap: 10px; }
.drawer-badge  { background: var(--cor-acento); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: var(--raio-pill); }
.drawer-fechar { background: none; border: none; color: rgba(255,255,255,0.6); font-size: 20px; cursor: pointer; padding: 4px 8px; border-radius: 6px; transition: color 0.15s; line-height: 1; }
.drawer-fechar:hover { color: #fff; }

.drawer-itens {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--cor-bg-secao);
}

.drawer-itens::-webkit-scrollbar { width: 4px; }
.drawer-itens::-webkit-scrollbar-thumb { background: #d9b99b; border-radius: 4px; }

.drawer-aviso { font-size: 12px; padding: 10px 14px; background: var(--cor-aviso-bg); border: 0.5px solid #ffc107; border-radius: var(--raio-sm); color: #7a5c00; line-height: 1.5; }

.drawer-free-shipping {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #f6f8f3;
}

.drawer-free-shipping[hidden] {
  display: none;
}

.drawer-free-shipping__head {
  margin-bottom: 7px;
  color: #5e7947;
  font-size: 12px;
  line-height: 1.4;
}

.drawer-free-shipping__head strong {
  color: #27500a;
  font-weight: 700;
}

.drawer-free-shipping__track {
  height: 3px;
  overflow: hidden;
  border-radius: var(--raio-pill);
  background: #e1efd5;
}

.drawer-free-shipping__track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #729953;
  transition: width 0.25s ease;
}

.drawer-item {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  background: #fffdf9;
  border-radius: 18px;
  border: 1px solid rgba(217, 185, 155, 0.75);
  box-shadow: 0 8px 18px rgba(57, 24, 0, 0.07);
}
.drawer-item-img {
  width: 96px;
  aspect-ratio: 1;
  min-width: 0;
  border-radius: 14px;
  background: #fff8ef;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  overflow: hidden;
}
.drawer-item-img img { width: 100%; height: 100%; border-radius: inherit; object-fit: contain; padding: 6px; }
.drawer-item-info { min-width: 0; display: grid; gap: 7px; align-content: center; }
.drawer-item-nome  { font-size: 16px; line-height: 1.15; font-weight: 800; color: var(--cor-primaria-hover); white-space: normal; overflow-wrap: anywhere; }
.drawer-item-preco { display: grid; gap: 2px; margin-top: 0; }
.drawer-item-preco strong { color: #d8174f; font-size: 15px; font-weight: 900; line-height: 1.1; }
.drawer-item-preco span { color: var(--cor-texto-suave); font-size: 11px; font-weight: 700; }
.drawer-event-details { background: #fff8ec; border: 0.5px solid rgba(217, 185, 155, 0.7); border-radius: 8px; margin-top: 8px; padding: 10px; }
.drawer-event-details > strong { color: var(--cor-primaria-hover); display: block; font-size: 12px; margin-bottom: 6px; }
.drawer-event-details dl { display: grid; gap: 6px; margin: 0; }
.drawer-event-details dl div { display: grid; gap: 2px; grid-template-columns: 86px minmax(0, 1fr); }
.drawer-event-details dt { color: var(--cor-texto-suave); font-size: 11px; font-weight: 700; margin: 0; }
.drawer-event-details dd { color: var(--cor-primaria-hover); font-size: 12px; font-weight: 700; line-height: 1.35; margin: 0; overflow-wrap: anywhere; }

.drawer-item-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 10px; margin-top: 2px; }
.drawer-item-qty { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.drawer-qty-btn {
  background: #fff;
  border: 1px solid rgba(57, 24, 0, 0.14);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 800;
  cursor: pointer;
  color: var(--cor-primaria-hover);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.15s;
}
.drawer-qty-btn:hover { background: #f7efe6; transform: translateY(-1px); }
.drawer-qty-plus { background: #10161a; border-color: #10161a; color: #fff; }
.drawer-qty-plus:hover { background: var(--cor-primaria-hover); border-color: var(--cor-primaria-hover); color: #fff; }
.drawer-qty-num { font-size: 16px; font-weight: 800; min-width: 22px; text-align: center; color: var(--cor-primaria-hover); user-select: none; }
.drawer-item-remove { background: none; border: 0; color: #9a8a80; cursor: pointer; font-size: 11px; font-weight: 800; min-height: 36px; padding: 0 2px; }
.drawer-item-remove:hover { color: var(--cor-erro); }

.drawer-recommendations {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(217, 185, 155, 0.55);
}

.drawer-recommendations__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.drawer-recommendations__head strong {
  color: var(--cor-primaria-hover);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.2;
}

.drawer-recommendations__head span {
  color: var(--cor-texto-suave);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
}

.drawer-recommendations__list {
  display: grid;
  gap: 8px;
}

.drawer-recommendation {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 38px;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border: 1px solid rgba(217, 185, 155, 0.68);
  border-radius: 14px;
  background: #fffaf4;
}

.drawer-recommendation__image {
  width: 56px;
  aspect-ratio: 1;
  border-radius: 12px;
  background: #fff;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.drawer-recommendation__image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 4px;
}

.drawer-recommendation__body {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.drawer-recommendation__body strong {
  color: var(--cor-primaria-hover);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.2;
  overflow-wrap: anywhere;
}

.drawer-recommendation__body small {
  color: #7a3f1d;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.1;
}

.drawer-recommendation__body span {
  color: #d8174f;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.1;
}

.drawer-recommendation button {
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: var(--cor-acento);
  color: #fff;
  cursor: pointer;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  display: grid;
  place-items: center;
}

.drawer-recommendation button:hover {
  background: var(--cor-acento-hover);
}

.drawer-recommendations-empty {
  padding: 16px;
  border: 1px solid rgba(217, 185, 155, 0.7);
  border-radius: 14px;
  background: #fffaf4;
  color: var(--cor-texto-suave);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
}

.drawer-vazio { flex: 1; display: none; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 48px 24px; color: var(--cor-texto-suave); text-align: center; }
.drawer-vazio span { font-size: 56px; }
.drawer-vazio p    { font-size: 14px; margin: 0; }

.drawer-btn-explorar { background: var(--cor-acento); color: #fff; border: none; border-radius: var(--raio-sm); padding: 10px 24px; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; transition: background 0.2s; }
.drawer-btn-explorar:hover { background: var(--cor-acento-hover); }

.drawer-footer { flex: 0 0 auto; max-height: 55vh; overflow-y: auto; display: flex; flex-direction: column; gap: 0; border-top: 1px solid var(--cor-borda-suave); background: #fff; }
.drawer-footer::-webkit-scrollbar { width: 3px; }
.drawer-footer::-webkit-scrollbar-thumb { background: #d9b99b; border-radius: 4px; }

/* Seções numeradas */
.drawer-section { padding: 14px 16px; border-bottom: 0.5px solid #f0e6db; }

.drawer-section-label { font-size: 10px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cor-acento); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; }

.drawer-section-num { width: 20px; height: 20px; border-radius: 50%; background: var(--cor-acento); color: #fff; font-size: 10px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }

/* Cupom */
.drawer-cupom-wrap { padding: 14px 16px 0; }
.drawer-cupom-row  { display: flex; gap: 8px; }

.drawer-cupom-input { flex: 1; padding: 9px 12px; border: 0.5px solid var(--cor-borda-media); border-radius: var(--raio-sm); font-size: 13px; font-family: 'Inter', sans-serif; text-transform: uppercase; letter-spacing: 1px; outline: none; transition: border-color 0.15s; }
.drawer-cupom-input:focus { border-color: var(--cor-acento); }

.drawer-cupom-btn { background: var(--cor-primaria); color: #fff; border: none; border-radius: var(--raio-sm); padding: 9px 16px; font-size: 12px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; white-space: nowrap; transition: background 0.2s; }
.drawer-cupom-btn:hover { background: var(--cor-acento); }

.drawer-cupom-feedback { font-size: 11px; margin-top: 6px; min-height: 16px; }
.drawer-cupom-feedback--erro { color: var(--cor-erro); }

.drawer-cupom-ativo { display: flex; align-items: center; justify-content: space-between; background: var(--cor-sucesso-bg); border: 0.5px solid #97c459; border-radius: var(--raio-sm); padding: 10px 14px; gap: 10px; font-size: 12px; color: #27500a; }
.drawer-cupom-remover { background: none; border: none; color: var(--cor-sucesso); font-size: 13px; cursor: pointer; padding: 2px 6px; border-radius: 4px; transition: background 0.15s; flex-shrink: 0; }
.drawer-cupom-remover:hover { background: rgba(0,0,0,0.08); }

/* Formulário de entrega */
.drawer-form-hint { font-size: 11px; color: var(--cor-texto-suave); margin-bottom: 12px; }
.drawer-field { margin-bottom: 10px; }
.drawer-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

.drawer-delivery-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 14px;
}

.drawer-delivery-option {
  min-height: 44px;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 10px;
  background: #fff;
  color: #4b3529;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 900;
}

.drawer-delivery-option.is-active {
  border-color: #ffb2bd;
  background: #fff0f3;
  color: #d9104d;
}

.drawer-field--muted {
  opacity: .55;
}

[data-delivery-address][hidden],
.drawer-frete-wrap[hidden] {
  display: none !important;
}

.drawer-label { display: block; font-size: 11px; font-weight: 600; color: var(--cor-texto-muted); margin-bottom: 4px; letter-spacing: 0.3px; }

.drawer-input,
.drawer-select { width: 100%; padding: 9px 12px; border: 0.5px solid var(--cor-borda-media); border-radius: var(--raio-sm); font-size: 13px; font-family: 'Inter', sans-serif; color: var(--cor-primaria-hover); background: #fff; outline: none; transition: border-color 0.15s; }
.drawer-input::placeholder,
.drawer-select::placeholder {
  color: #7f7a78;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  opacity: 1;
}
.drawer-input::-webkit-input-placeholder {
  color: #7f7a78;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
}
.drawer-input:focus,
.drawer-select:focus  { border-color: var(--cor-acento); }
.drawer-input--invalid { border-color: var(--cor-erro) !important; }
.drawer-invalid { font-size: 11px; color: var(--cor-erro); margin-top: 4px; display: none; }
.drawer-input--invalid ~ .drawer-invalid { display: block; }

/* Totais iFood */
.drawer-totais { padding: 0; }

.ifood-totais { padding: 4px 0; display: flex; flex-direction: column; gap: 10px; }

.ifood-linha { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--cor-texto-medio); }
.ifood-linha--desconto { color: var(--cor-sucesso); font-weight: 600; }
.ifood-linha--cashback { color: #8a4d00; font-weight: 800; }
.ifood-linha--muted span:last-child { color: #bbb; font-style: italic; font-size: 12px; }
.ifood-linha--total { font-size: 16px; font-weight: 800; color: var(--cor-primaria); }

.ifood-divisor { height: 0.5px; background: var(--cor-borda-suave); }
.ifood-gratis  { color: var(--cor-sucesso); font-weight: 700; }

/* Frete */
.drawer-frete-wrap { }

.drawer-frete-msg     { font-size: 12px; color: var(--cor-texto-muted); margin-bottom: 6px; }
.drawer-frete-msg--ok { color: var(--cor-sucesso); font-weight: 600; }

.drawer-frete-msg--fora { color: var(--cor-erro); background: var(--cor-erro-bg); border: 0.5px solid #ffcdd2; border-radius: var(--raio-sm); padding: 10px 12px; font-size: 12px; line-height: 1.5; }

/* Botões de ação */
.drawer-acoes { padding: 14px 16px 20px; display: flex; flex-direction: column; gap: 8px; }

.drawer-btn-enviar { width: 100%; padding: 14px; background: #25d366; color: #fff; border: none; border-radius: 10px; font-size: 14px; font-weight: 700; font-family: 'Inter', sans-serif; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 8px; transition: background 0.2s; }
.drawer-btn-enviar:hover { background: #1da851; }

.drawer-btn-zerar { background: none; border: none; color: var(--cor-erro); font-size: 12px; font-family: 'Inter', sans-serif; cursor: pointer; text-decoration: underline; text-align: center; padding: 4px; }

@media (max-width: 768px) {
  .carrinho-drawer { width: 100vw; }
  .drawer-row      { grid-template-columns: 1fr; }
}

/* ==========================================================================
   COMPARTILHAMENTO
   ========================================================================== */

/* Botão no card */
.bcard-share-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 0.5px solid var(--cor-borda-suave);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--cor-texto-suave);
  transition: background 0.15s, color 0.15s, transform 0.15s;
  z-index: 3;
  flex-shrink: 0;
}

.bcard-share-btn:hover {
  background: #fff;
  color: var(--cor-acento);
  transform: scale(1.1);
}

.bcard-favorite-btn {
  position: absolute;
  top: 12px;
  right: 46px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(255,255,255,0.92);
  border: 0.5px solid var(--cor-borda-suave);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--cor-texto-suave);
  transition: background 0.15s, color 0.15s, transform 0.15s;
  z-index: 3;
  flex-shrink: 0;
}

.bcard-favorite-btn svg {
  width: 15px;
  height: 15px;
  fill: transparent;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.bcard-favorite-btn:hover,
.bcard-favorite-btn.is-active {
  background: #fff;
  color: #d6336c;
  transform: scale(1.1);
}

.bcard-favorite-btn.is-active svg {
  fill: currentColor;
}

.bcard-favorite-btn:disabled {
  cursor: wait;
  opacity: .7;
}

/* Conflito com badge OFF — empurra o share para baixo se tiver OFF */
.bcard-off ~ .bcard-share-btn,
.bcard-off + .bcard-destaque + .bcard-share-btn {
  top: 42px;
}

.bcard-off ~ .bcard-favorite-btn,
.bcard-off + .bcard-destaque + .bcard-favorite-btn {
  top: 42px;
}

/* Mini menu flutuante */
.share-menu {
  position: fixed;
  z-index: 9999;
  background: #fff;
  border-radius: var(--raio-md);
  border: 0.5px solid var(--cor-borda-suave);
  box-shadow: var(--sombra-lg);
  padding: 8px;
  min-width: 160px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: shareMenuEntrar 0.15s ease;
}

@keyframes shareMenuEntrar {
  from { opacity: 0; transform: translate(-50%, -48%) scale(0.95); }
  to   { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}

.share-menu-titulo {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--cor-texto-suave);
  padding: 4px 8px 8px;
  border-bottom: 0.5px solid var(--cor-borda-suave);
  margin-bottom: 4px;
}

.share-menu-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: none;
  background: none;
  border-radius: var(--raio-sm);
  font-size: 13px;
  font-weight: 500;
  color: var(--cor-texto-principal);
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  transition: background 0.15s;
  text-align: left;
}

.share-menu-btn:hover { background: var(--cor-bg-muted); color: var(--cor-acento); }

/* Toast de confirmação */
.share-toast {
  position: fixed;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%) translateY(12px);
  background: var(--cor-primaria);
  color: #fff;
  font-size: 13px;
  font-weight: 600;
  font-family: 'Inter', sans-serif;
  padding: 10px 20px;
  border-radius: var(--raio-pill);
  box-shadow: var(--sombra-lg);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.2s, transform 0.2s;
  pointer-events: none;
  white-space: nowrap;
}

.share-toast--visivel {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.sec-bebidas {
  background: #fff;
  border-top: 0.5px solid rgba(0,0,0,0.06);
}

.sec-bebidas-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 4px;
}

.sec-bebidas-header h2 {
  font-size: 26px;
  font-weight: 800;
  color: var(--cor-primaria-hover);
  margin: 0 0 4px;
}

.sec-bebidas-sub {
  font-size: 14px;
  color: var(--cor-texto-suave);
  margin: 0;
}

.catalog-section-head {
  max-width: 720px;
  margin: 0 auto 16px;
  text-align: center;
}

.catalog-section-head h2 {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--cor-primaria-hover);
  margin: 0 0 8px;
}

.catalog-section-head h2 .catalog-section-title-link {
  /* font-family: "Bodoni Moda", "Didot", "Bodoni MT", Georgia, serif;
  font-size: clamp(40px, 3vw, 40px);
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
  letter-spacing: -0.05em;
  line-height: 1.25; */

  font-family: 'Cormorant Garamond', serif;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 1.6rem;
}

.catalog-section-head h2 .catalog-section-title-link,
.catalog-section-head h2 .catalog-section-title-link:visited,
.catalog-section-head h2 .catalog-section-title-link:hover,
.catalog-section-head h2 .catalog-section-title-link:focus-visible {
  color: #21130e !important;
  text-decoration: none !important;
}

.catalog-section-head p {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: var(--cor-texto-suave);
  margin: 0;
  display: none;
}

.bcard-tag--bebida {
  background: #174f86;
}

.bcard--bebida .bcard-img-wrap {
  background: #fff;
  min-height: 140px;
}

.bcard-bebida-emoji {
  font-size: 64px;
  line-height: 1;
  padding: 20px 0 10px;
}

.bcard-bebida-detalhe {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #185FA5;
  background: #e6f1fb;
  border: 0.5px solid #b5d4f4;
  padding: 3px 8px;
  border-radius: var(--raio-pill);
  margin-bottom: 8px;
  letter-spacing: 0.3px;
}

.drawer-separador {
  font-size: 11px;
  font-weight: 700;
  color: var(--cor-texto-suave);
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 10px 0 6px;
  border-top: 0.5px solid var(--cor-borda-suave);
  margin-top: 6px;
}

.bcard-bebida-emoji-wrap {
  width: 75%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  display: grid;
  place-items: center;
  position: relative;
}

.bcard-bebida-emoji {
  font-size: 64px;
  line-height: 1;
}

/* Mobile — emoji no layout horizontal */
@media (max-width: 576px) {
  .bcard-bebida-emoji-wrap {
    width: 100%;
    min-width: 86px;
    aspect-ratio: 1 / 1;
  }
  .bcard-bebida-emoji { font-size: 40px; }
}

.cb-wrap { max-width: 640px; margin: 0 auto; }
.cb-header { text-align: center; margin-bottom: 1.5rem; }
.cb-title { font-size: 28px; color: #3B1A08; margin: 0 0 6px; }
.cb-sub { font-size: 15px; color: #854F0B; margin: 0; }
.cb-counter { display: flex; gap: 12px; justify-content: center; margin-bottom: 1.5rem; flex-wrap: wrap; }
.cb-stat { background: white; border: 0.5px solid #F4C39A; border-radius: 12px; padding: 14px 22px; text-align: center; min-width: 110px; }
.cb-stat-num { font-size: 32px; color: #993C1D; display: block; }
.cb-stat-label { font-size: 12px; color: #854F0B; display: block; margin-top: 2px; }
.cb-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.5rem; }
.cb-item { background: white; border: 0.5px solid #F4C39A; border-radius: 12px; padding: 14px 16px; display: flex; align-items: center; gap: 14px; }
.cb-dot { width: 34px; height: 34px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.cb-dot svg { width: 16px; height: 16px; fill: white; }
.cb-item-info { flex: 1; }
.cb-item-name { font-size: 15px; font-weight: 500; color: #3B1A08; margin: 0 0 2px; }
.cb-item-meta { font-size: 12px; color: #854F0B; margin: 0; }
.cb-badge { font-size: 11px; border-radius: 20px; padding: 3px 10px; white-space: nowrap; border: 0.5px solid; }
.cb-cta { background: #3B1A08; border-radius: 14px; padding: 22px 20px; text-align: center; }
.cb-cta-title { font-size: 19px; color: #FAC775; margin: 0 0 6px; }
.cb-cta-sub { font-size: 13px; color: #D3D1C7; margin: 0 0 16px; }
.cb-btn { display: inline-block; background: #D85A30; color: white; font-size: 14px; font-weight: 500; text-decoration: none; border-radius: 8px; padding: 11px 24px; }
.cb-btn:hover { background: #993C1D; }

#sobre {
  background: linear-gradient(135deg,#fdf7f0 0%,#fff 100%);
}
.chef-figure {
  margin: 0;
  position: relative;
}
.sobre-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.sobre-chips span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 1px solid rgba(181,101,29,0.3);
  background: #fff7ec;
  color: #6f451f;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 600;
}
#sobre .lead {
  color: #5a3e27;
  font-size: 1.08rem;
}
#sobre p {
  margin-bottom: 1rem;
}
#sobre .btn-chef {
  background: var(--cor-acento);
  border: 1px solid transparent;
  color: #fff;
  transition: background 0.25s ease, transform 0.25s ease;
}
#sobre .btn-chef:hover {
  background: var(--cor-acento-hover);
  transform: translateY(-1px);
}
@media (max-width: 991px) {
  #sobre { padding-top: 3.5rem; padding-bottom: 3rem; }
  #sobre .chef-placeholder { min-height: 320px; }
}

.reveal {
  opacity: 0;
  transform: translateY(28px) scale(0.98);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
.reveal.in-view {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (max-width: 991.98px) {
  body {
    padding-bottom: 0;
    padding-top: 0;
  }

  body:has(.site-header--app-menu) {
    padding-top: 60px;
  }

  body.has-mobile-bottom-nav,
  body:has(.mobile-bottom-nav) {
    padding-bottom: calc(98px + env(safe-area-inset-bottom));
  }

  .mobile-bottom-nav {
    position: fixed;
    left: 50%;
    bottom: max(10px, env(safe-area-inset-bottom));
    z-index: 1070;
    display: grid;
    grid-template-columns: 1fr 1fr 78px 1fr 1fr;
    align-items: end;
    width: min(360px, calc(100vw - 32px));
    min-height: 76px;
    padding: 10px 12px 8px;
    transform: translateX(-50%);
    background: rgba(255, 253, 248, .96);
    border: 1px solid rgba(72, 36, 24, .08);
    border-radius: 0 0 28px 28px;
    box-shadow: 0 -1px 0 rgba(72, 36, 24, .05), 0 18px 44px rgba(24, 12, 8, .22);
    backdrop-filter: blur(16px);
  }

  .mobile-bottom-nav--compact {
    grid-template-columns: repeat(4, 1fr);
    width: min(360px, calc(100vw - 32px));
    min-height: 66px;
    padding: 8px 10px 7px;
    border-radius: 22px;
  }

  .mobile-bottom-nav--compact .mobile-bottom-nav__item {
    min-height: 50px;
  }

  .mobile-bottom-nav--compact .mobile-bottom-nav__icon {
    width: 44px;
    height: 32px;
  }

  .mobile-bottom-nav__item,
  .mobile-bottom-nav__cart {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 5px;
    min-width: 0;
    min-height: 56px;
    border: 0;
    background: transparent;
    color: #b4a99d;
    font-size: 10px;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
  }

  .mobile-bottom-nav__item.is-active {
    color: #c8711d;
  }

  .mobile-bottom-nav__icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 38px;
    border-radius: 14px;
  }

  .mobile-bottom-nav__item.is-active .mobile-bottom-nav__icon {
    background: #f2dfc2;
  }

  .mobile-bottom-nav svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .mobile-bottom-nav__cart {
    justify-self: center;
    width: 78px;
    min-height: 76px;
    margin-top: -30px;
    color: #7c5f4b;
    font-weight: 700;
  }

  .mobile-bottom-nav__cart-icon {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin-bottom: 1px;
    border-radius: 20px;
    background: #4b2415;
    color: #fff7ed;
    box-shadow: 0 12px 22px rgba(75, 36, 21, .34);
  }

  .mobile-bottom-nav__cart svg {
    width: 24px;
    height: 24px;
  }

  .mobile-bottom-nav__badge {
    position: absolute;
    top: -4px;
    right: 15px;
    z-index: 1;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border: 2px solid #fffdf8;
    border-radius: 999px;
    background: #d84f78;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    line-height: 14px;
    text-align: center;
  }

  .mobile-bottom-nav--app {
    left: 0;
    right: 0;
    bottom: 0;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
    min-height: 74px;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom));
    transform: none;
    background: rgba(255, 255, 255, .98);
    border-width: 1px 0 0;
    border-color: rgba(72, 36, 24, .12);
    border-radius: 0;
    box-shadow: 0 -10px 28px rgba(24, 12, 8, .12);
    backdrop-filter: blur(14px);
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__item,
  .mobile-bottom-nav--app .mobile-bottom-nav__cart {
    justify-content: center;
    width: auto;
    min-height: 58px;
    margin: 0;
    color: #8a8178;
    font-size: 11px;
    font-weight: 700;
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__item.is-active,
  .mobile-bottom-nav--app .mobile-bottom-nav__cart.is-active {
    color: #191716;
    font-weight: 900;
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__icon,
  .mobile-bottom-nav--app .mobile-bottom-nav__cart-icon {
    width: 40px;
    height: 34px;
    margin: 0;
    border-radius: 12px;
    background: transparent;
    color: inherit;
    box-shadow: none;
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__item.is-active .mobile-bottom-nav__icon,
  .mobile-bottom-nav--app .mobile-bottom-nav__cart.is-active .mobile-bottom-nav__cart-icon {
    background: transparent;
  }

  .mobile-bottom-nav--app svg {
    width: 27px;
    height: 27px;
    stroke-width: 2.4;
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__cart svg circle {
    fill: currentColor;
    stroke: none;
  }

  .mobile-bottom-nav--app .mobile-bottom-nav__badge {
    top: 3px;
    right: calc(50% - 24px);
  }
}

@media (max-width: 991.98px) {
  .site-header--app-menu .navbar {
    min-height: 60px;
    height: 60px;
    box-shadow: none !important;
    border-bottom: 1px solid rgba(43, 24, 16, .08);
  }

  .site-header--app-menu + main {
    padding-top: 0;
  }

  .site-header--app-menu .navbar-inner-wrap {
    height: 60px;
    padding: 0 24px 0 35px;
  }

  .site-header--app-menu .navbar .navbar-brand {
    flex: 1;
    min-width: 0;
    margin-right: 0;
    font-size: 16px;
    font-weight: 800;
    gap: 0;
    line-height: 1;
  }

  .site-header--app-menu .navbar .navbar-brand img {
    width: 38px;
    height: 38px;
    margin-right: 7px !important;
    object-fit: contain;
  }

  .site-header--app-menu .navbar-inner-wrap > .d-flex.ms-auto {
    gap: 20px !important;
  }

  .navbar-cart-icon-btn--mobile {
    width: 31px;
    height: 38px;
    color: #2a160e;
    padding: 0;
  }

  .app-menu-toggle {
    display: inline-grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 0 !important;
    border-radius: 8px;
    color: #3f3d3a;
    background: #fff !important;
    box-shadow: none;
    padding: 0;
  }

  .app-menu-toggle:focus {
    box-shadow: 0 0 0 3px rgba(90, 88, 84, .16);
  }

  .app-menu-toggle .navbar-toggler-icon {
    width: 30px;
    height: 30px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2880, 80, 80, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M5 8h20M5 15h20M5 22h20'/%3e%3c/svg%3e");
  }

  .app-menu-panel {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 1060;
    width: 100%;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    pointer-events: auto;
    background: #fff;
    border: 0;
    box-shadow: 0 22px 38px rgba(0, 0, 0, .08);
  }

  .app-menu-panel.show,
  .app-menu-panel.collapsing {
    padding: 30px 0 34px;
  }

  .app-menu-head {
    display: none !important;
  }

  .app-menu-simple-item .app-nav-link {
    position: relative;
    z-index: 1;
    display: flex !important;
    justify-content: flex-start;
    width: calc(100% - 92px);
    min-height: 54px;
    margin: 10px 46px;
    padding: 4px 0 !important;
    pointer-events: auto;
    border: 0;
    background: transparent;
    color: #1f1b18 !important;
    font-size: 24px;
    font-weight: 500;
  }

  .app-menu-simple-item .app-nav-link--button {
    appearance: none;
    justify-content: flex-start;
    width: calc(100% - 92px);
    margin: 10px 46px;
    border: 0;
    font-family: inherit;
    font-size: 24px;
    font-weight: 500;
    line-height: inherit;
    text-align: left;
  }

  .app-menu-simple-item .app-nav-link.active,
  .app-menu-simple-item .app-nav-link:hover {
    background: transparent;
    color: #1f1b18 !important;
  }

  .app-menu-backdrop {
    position: fixed;
    inset: 60px 0 0;
    z-index: 1040;
    display: none !important;
    pointer-events: none !important;
    background: rgba(255, 255, 255, .01);
  }

  .site-header--app-menu:has(.app-menu-panel.show) .app-menu-backdrop {
    display: none !important;
  }

  .floating-cart {
    display: none !important;
  }

  #chat-fab {
    right: 18px;
    bottom: max(24px, env(safe-area-inset-bottom));
    width: 64px;
    height: 64px;
    background: #25d366;
    box-shadow: 0 14px 28px rgba(37, 211, 102, .3);
  }

  body > section.bg-dark {
    padding: 22px 18px !important;
    background: #20252b !important;
  }

  body > section.bg-dark .h4 {
    font-size: 20px;
    line-height: 1.25;
    white-space: nowrap;
  }

  #cardapio .filtro-wrapper {
    display: none;
  }

  #feedback-foto {
    display: none;
  }

  #feedback-foto h3 {
    font-size: 22px;
    line-height: 1.2;
    margin-bottom: 10px;
  }

  #feedback-foto p {
    max-width: 310px;
    margin: 0 auto 22px !important;
    font-size: 16px;
    line-height: 1.5;
  }

  #btn-camera {
    min-height: 46px;
    padding: 12px 24px !important;
    font-size: 15px;
  }

  #cardapio.py-5 {
    padding-top: 42px !important;
  }

  #titulo-cardapio {
    font-size: 24px;
    margin-bottom: 22px !important;
  }
}

@media (max-width: 380px) {
  body > section.bg-dark .h4 {
    font-size: 18px;
  }
}

@media (max-width: 380px) {
  .site-header--app-menu .navbar-inner-wrap {
    padding-inline: 16px;
  }

  .site-header--app-menu .navbar .navbar-brand {
    font-size: 18px;
    gap: 7px;
  }

  .site-header--app-menu .navbar .navbar-brand img {
    width: 36px;
    height: 36px;
  }

  .navbar-cart-icon-btn--mobile {
    width: 34px;
    height: 38px;
  }

  .app-menu-toggle {
    width: 50px;
    height: 44px;
    border-width: 3px !important;
  }
}

@media (min-width: 992px) {
  .mobile-bottom-nav {
    display: none;
  }
}

.app-menu-list {
  gap: 8px;
}

.app-nav-link {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 12px !important;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #7c6757 !important;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.app-nav-link.active,
.app-nav-link:hover,
.app-nav-link--button:hover {
  border-color: rgba(72, 36, 24, .08);
  background: #f2dfc2;
  color: #3f2418 !important;
}

.app-nav-link--button {
  border: 1px solid transparent;
  font: inherit;
  cursor: pointer;
}

.app-nav-link__icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
}

.app-nav-link svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.app-nav-link .navbar-cart-bubble {
  top: 1px;
  right: 2px;
}

.mobile-bottom-nav__form {
  display: contents;
  margin: 0;
}

/* ==========================================================================
   NAVBAR REFINADA
   ========================================================================== */
.site-nav.navbar {
  min-height: 68px;
  border-bottom: 1px solid rgba(72, 36, 24, .1);
  background: rgba(255, 253, 248, .96) !important;
  box-shadow: 0 10px 30px rgba(45, 22, 15, .08) !important;
  backdrop-filter: blur(14px);
}

.site-nav .navbar-inner-wrap {
  min-height: 68px;
  padding: 0 clamp(18px, 4vw, 44px);
}

.site-nav .navbar-brand {
  min-width: 230px;
  margin-right: 28px;
  color: #2a160e !important;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: 0;
}

.site-nav .navbar-brand img {
  width: 40px;
  height: 40px;
  margin-right: 10px !important;
  object-fit: contain;
}

.site-nav .app-menu-list {
  gap: clamp(2px, .45vw, 10px);
}

.site-nav .app-nav-link {
  min-height: 44px;
  padding: 0 13px !important;
  border-radius: 12px;
  color: #3d2a20 !important;
  font-size: 14px;
  font-weight: 850;
  transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease;
}

.site-nav .app-nav-link__icon {
  width: 23px;
  height: 23px;
  color: #32190f;
}

.site-nav .app-nav-link svg {
  width: 18px;
  height: 18px;
  stroke-width: 2.15;
}

.site-nav .app-nav-link.active,
.site-nav .app-nav-link:hover,
.site-nav .app-nav-link--button:hover {
  border-color: transparent;
  background: transparent;
  color: #2a160e !important;
  transform: translateY(-1px);
}

.site-nav .app-nav-link.active {
  box-shadow: inset 0 -3px 0 #b5651d;
}

.site-nav .app-nav-link--button {
  background: transparent;
}

@media (max-width: 1160px) and (min-width: 992px) {
  .site-nav .navbar-brand {
    min-width: 190px;
    margin-right: 12px;
    font-size: 15px;
  }

  .site-nav .app-nav-link {
    padding: 0 9px !important;
    font-size: 13px;
  }

  .site-nav .app-nav-link__icon {
    display: none;
  }
}

@media (max-width: 991.98px) {
  .site-header--app-menu .site-nav.navbar {
    min-height: 64px;
    height: 64px;
    background: rgba(255, 253, 248, .98) !important;
    box-shadow: 0 8px 22px rgba(45, 22, 15, .08) !important;
  }

  .site-header--app-menu .site-nav .navbar-inner-wrap {
    height: 64px;
    min-height: 64px;
    padding: 0 18px;
  }

  .site-header--app-menu .site-nav .navbar-brand {
    min-width: 0;
    font-size: 17px;
    font-weight: 950;
  }

  .site-header--app-menu .site-nav .navbar-brand img {
    width: 38px;
    height: 38px;
    margin-right: 8px !important;
  }

  .site-header--app-menu .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    gap: 12px !important;
  }

  .app-menu-toggle {
    width: 44px;
    height: 44px;
    display: inline-grid;
    gap: 5px;
    place-content: center;
    border-radius: 14px;
    background: #fff7ed !important;
    box-shadow: inset 0 0 0 1px rgba(72, 36, 24, .09);
  }

  .app-menu-toggle__bar {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 999px;
    background: #2a160e;
    transition: transform .2s ease, opacity .2s ease;
  }

  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(2) {
    opacity: 0;
  }

  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .navbar-cart-icon-btn--mobile {
    width: 44px;
    height: 44px;
    border-radius: 14px;
    background: #fff7ed;
    box-shadow: inset 0 0 0 1px rgba(72, 36, 24, .09);
  }

  .app-menu-panel {
    position: fixed;
    top: 64px;
    right: 10px;
    left: 10px;
    z-index: 1060;
    max-height: calc(100dvh - 78px);
    overflow-y: auto;
    border: 1px solid rgba(72, 36, 24, .1);
    border-radius: 0 0 22px 22px;
    background: rgba(255, 253, 248, .98);
    box-shadow: 0 24px 60px rgba(45, 22, 15, .18);
  }

  .app-menu-panel.show,
  .app-menu-panel.collapsing {
    padding: 14px;
  }

  .app-menu-panel.show {
    animation: chefMenuIn .2s ease both;
  }

  .app-menu-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 6px 4px 14px;
    border-bottom: 1px solid rgba(72, 36, 24, .08);
    margin-bottom: 8px;
  }

  .app-menu-head strong {
    display: block;
    color: #24120b;
    font-weight: 950;
    line-height: 1.1;
  }

  .app-menu-head span {
    display: block;
    margin-top: 2px;
    color: #8a6b58;
    font-size: 12px;
    font-weight: 750;
  }

  .app-menu-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(72, 36, 24, .12);
    border-radius: 12px;
    background: #fff;
    color: #2a160e;
    font-size: 24px;
    font-weight: 600;
    line-height: 1;
  }

  .app-menu-list {
    gap: 6px;
  }

  .app-menu-simple-item .app-nav-link,
  .app-menu-simple-item .app-nav-link--button {
    width: 100%;
    min-height: 50px;
    justify-content: flex-start;
    margin: 0;
    padding: 0 14px !important;
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    color: #2a160e !important;
    font-size: 17px;
    font-weight: 900;
  }

  .app-menu-simple-item .app-nav-link.active,
  .app-menu-simple-item .app-nav-link:hover,
  .app-menu-simple-item .app-nav-link--button:hover {
    border-color: rgba(181, 101, 29, .18);
    background: #f4e4cb;
    color: #2a160e !important;
    transform: none;
  }
}

@keyframes chefMenuIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 991.98px) {
  .site-header--app-menu .site-nav.navbar {
    height: 62px;
    min-height: 62px;
  }

  .site-header--app-menu .site-nav .navbar-inner-wrap {
    height: 62px;
    min-height: 62px;
    padding: 0 18px;
  }

  .app-menu-toggle,
  .navbar-cart-icon-btn--mobile {
    width: 42px;
    height: 42px;
    border-radius: 12px;
    background: transparent !important;
    box-shadow: none;
  }

  .app-menu-toggle__bar {
    transition: none;
  }

  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(1),
  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(2),
  .app-menu-toggle[aria-expanded="true"] .app-menu-toggle__bar:nth-child(3) {
    opacity: 1;
    transform: none;
  }

  .app-menu-panel {
    top: 62px;
    right: 0;
    left: 0;
    max-height: calc(100dvh - 62px);
    border: 0;
    border-top: 1px solid rgba(72, 36, 24, .08);
    border-radius: 0;
    background: #fffdf8;
    box-shadow: 0 12px 24px rgba(45, 22, 15, .08);
  }

  .app-menu-panel.show,
  .app-menu-panel.collapsing {
    padding: 8px 16px 18px;
  }

  .app-menu-panel.show {
    animation: none;
  }

  .app-menu-head {
    display: none !important;
  }

  .app-menu-list {
    gap: 2px;
    margin-top: 0 !important;
  }

  .app-menu-simple-item .app-nav-link,
  .app-menu-simple-item .app-nav-link--button {
    min-height: 46px;
    padding: 0 8px !important;
    border: 0;
    border-bottom: 1px solid rgba(72, 36, 24, .06);
    border-radius: 0;
    font-size: 16px;
    font-weight: 850;
  }

  .app-menu-simple-item .app-nav-link.active,
  .app-menu-simple-item .app-nav-link:hover,
  .app-menu-simple-item .app-nav-link--button:hover {
    border-color: rgba(72, 36, 24, .06);
    background: transparent;
    color: #a65317 !important;
  }
}

.app-home-overview,
.app-page {
  background: linear-gradient(180deg, #fffaf2 0%, #f7efe2 100%);
  padding: 32px 0;
}

.app-home-hero,
.app-page-header,
.app-profile-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}

.app-home-hero h1,
.app-page-header h1,
.app-profile-card h1 {
  margin: 0;
  color: #2b1810;
  font-size: clamp(1.8rem, 5vw, 3rem);
  font-weight: 900;
  letter-spacing: 0;
}

.app-home-hero p,
.app-page-header p,
.app-profile-card p,
.app-empty-state p {
  max-width: 640px;
  margin: 8px 0 0;
  color: #6f5a4d;
}

.app-home-hero__cta,
.app-home-promo a,
.app-status-panel__top a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 999px;
  background: #3f2418;
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}

.app-home-hero--logged {
  position: relative;
  overflow: hidden;
  align-items: flex-start;
  padding: 22px;
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(63, 36, 24, .96), rgba(132, 72, 43, .92)),
    #3f2418;
  box-shadow: 0 18px 36px rgba(43, 24, 16, .16);
}

.app-home-hero--logged h1,
.app-home-hero--logged p {
  color: #fff8ed;
}

.app-home-hero--logged p {
  color: rgba(255, 248, 237, .78);
}

.app-home-hero--logged .product-tag {
  background: rgba(255, 255, 255, .14);
  color: #ffe7bf;
}

.app-home-hero--logged .app-home-hero__cta {
  background: #fff8ed;
  color: #3f2418;
}

.app-home-search {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
  margin: 18px 0;
}

.app-home-search input {
  min-height: 48px;
  border: 1px solid rgba(43, 24, 16, .12);
  border-radius: 8px;
  padding: 0 14px;
  background: #fff;
  color: #2b1810;
}

.app-home-search button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  padding: 0 18px;
  background: #d85a30;
  color: #fff;
  font-weight: 800;
}

.app-home-promo,
.app-status-panel,
.app-empty-state,
.app-profile-info,
.app-profile-actions {
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(43, 24, 16, .07);
}

.app-home-promo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
}

.app-home-quick-actions {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin: 18px 0 6px;
}

.app-home-quick-actions a {
  display: grid;
  align-content: center;
  min-height: 76px;
  padding: 14px;
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
  color: #3f2418;
  text-decoration: none;
  box-shadow: 0 10px 22px rgba(43, 24, 16, .05);
}

.app-home-quick-actions a span,
.app-home-quick-actions a strong {
  display: block;
}

.app-home-quick-actions a span {
  color: #9b7d65;
  font-size: .76rem;
  font-weight: 800;
  text-transform: uppercase;
}

.app-home-quick-actions a strong {
  margin-top: 3px;
  color: #2b1810;
  font-size: 1rem;
  font-weight: 900;
}

.app-orders-list--compact {
  grid-template-columns: repeat(3, 1fr);
}

.app-empty-state--compact {
  margin-top: 0;
  padding: 18px;
}

.app-home-promo span,
.app-status-panel__top span {
  display: block;
  color: #9b7d65;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.app-home-promo strong,
.app-status-panel__top strong {
  display: block;
  margin-top: 2px;
  color: #2b1810;
  font-size: 1.05rem;
}

.app-home-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 26px 0 12px;
}

.app-home-section-head h2,
.app-profile-info h2,
.app-profile-actions h2,
.app-empty-state h2 {
  margin: 0;
  color: #2b1810;
  font-size: 1.12rem;
  font-weight: 900;
}

.app-home-section-head a {
  color: #d85a30;
  font-weight: 800;
  text-decoration: none;
}

.app-home-collections,
.app-home-featured {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(132px, 1fr);
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  scroll-snap-type: x proximity;
}

.app-home-collections a {
  min-height: 58px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
  color: #3f2418;
  font-weight: 900;
  text-decoration: none;
  scroll-snap-align: start;
}

.app-home-featured {
  grid-auto-columns: minmax(172px, 190px);
}

.app-home-featured__item {
  overflow: hidden;
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
  color: #2b1810;
  text-decoration: none;
  scroll-snap-align: start;
}

.app-home-featured__item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #efe4cd;
}

.app-home-featured__item span,
.app-home-featured__item strong {
  display: block;
  padding: 0 12px;
}

.app-home-featured__item span {
  min-height: 44px;
  padding-top: 10px;
  font-weight: 800;
}

.app-home-featured__item strong {
  padding-bottom: 12px;
  color: #d85a30;
}

.app-status-panel {
  padding: 18px;
}

.app-status-panel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.app-status-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-top: 20px;
}

.app-status-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: #9b7d65;
  text-align: center;
}

.app-status-step span {
  width: 18px;
  height: 18px;
  border: 3px solid #efe4cd;
  border-radius: 50%;
  background: #fff;
}

.app-empty-state {
  margin-top: 18px;
  padding: 24px;
  text-align: center;
}

.app-profile-card {
  justify-content: flex-start;
  padding: 18px;
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
}

.app-profile-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: #3f2418;
  color: #fff7ed;
  font-size: 1.45rem;
  font-weight: 900;
}

.app-profile-stats,
.app-profile-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.app-profile-stats div {
  padding: 16px 10px;
  border-radius: 8px;
  background: #fff;
  text-align: center;
  box-shadow: 0 10px 22px rgba(43, 24, 16, .05);
}

.app-profile-stats strong,
.app-profile-stats span {
  display: block;
}

.app-profile-stats strong {
  color: #2b1810;
  font-size: 1.55rem;
  line-height: 1;
}

.app-profile-stats span {
  margin-top: 4px;
  color: #7c6757;
  font-size: .82rem;
  font-weight: 700;
}

.app-profile-grid {
  grid-template-columns: 1fr 1fr;
}

.app-profile-info,
.app-profile-actions {
  padding: 18px;
}

.app-profile-info dl {
  display: grid;
  gap: 12px;
  margin: 14px 0 0;
}

.app-profile-info dt {
  color: #9b7d65;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.app-profile-info dd {
  margin: 2px 0 0;
  color: #2b1810;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.app-profile-actions {
  display: grid;
  gap: 10px;
}

.app-profile-actions form {
  margin: 0;
}

.app-profile-actions a,
.app-profile-actions button {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 42px;
  padding: 0;
  border-bottom: 1px solid rgba(43, 24, 16, .08);
  border-top: 0;
  border-right: 0;
  border-left: 0;
  background: transparent;
  color: #3f2418;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  text-align: left;
  cursor: pointer;
}

.app-profile-actions a:last-child,
.app-profile-actions form:last-child button {
  border-bottom: 0;
}

.app-profile-actions a i,
.app-profile-actions button i {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #fffaf2;
  color: #7a3e1d;
}

.app-profile-actions button small {
  display: block;
  color: #9b7d65;
  font-size: 12px;
  font-weight: 700;
  margin-top: 2px;
}

.app-favorites-panel .app-favorite-thumb {
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  border-radius: 8px;
  overflow: hidden;
  background: #fffaf2;
  color: #d6336c;
}

.app-favorites-panel .app-favorite-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 3px;
}

.app-favorites-panel .app-favorite-thumb i {
  background: transparent;
  color: inherit;
}

.app-favorite-row {
  display: grid;
  grid-template-columns: 1fr 42px;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(43, 24, 16, .08);
}

.app-favorite-row:last-child {
  border-bottom: 0;
}

.app-profile-actions .app-favorite-link {
  border-bottom: 0;
  min-height: 50px;
}

.app-profile-actions .app-favorite-cart-btn {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 1px solid rgba(122, 62, 29, .18);
  border-radius: 8px;
  background: #fff8f1;
  color: #7a3e1d;
  text-align: center;
}

.app-profile-actions .app-favorite-cart-btn i {
  width: auto;
  height: auto;
  flex: none;
  background: transparent;
  color: inherit;
}

.app-profile-actions .app-favorite-cart-btn:hover {
  background: #7a3e1d;
  color: #fff;
}

.app-orders-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.app-order-card {
  border: 1px solid rgba(43, 24, 16, .09);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(43, 24, 16, .07);
}

.app-order-card__head,
.app-order-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
}

.app-order-card__head {
  border-bottom: 1px solid rgba(43, 24, 16, .08);
}

.app-order-card__head strong,
.app-order-card__head span,
.app-order-card__foot span,
.app-order-card__foot strong {
  display: block;
}

.app-order-card__head strong,
.app-order-card__foot strong {
  color: #2b1810;
}

.app-order-card__head span,
.app-order-card__foot span {
  color: #7c6757;
  font-size: .84rem;
  font-weight: 700;
}

.app-order-card__head em {
  border-radius: 999px;
  background: #efe4cd;
  color: #3f2418;
  padding: 5px 10px;
  font-size: .78rem;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.app-order-review {
  padding: 14px 16px;
  border-top: 1px solid rgba(43, 24, 16, .08);
  background: #fffaf2;
}

.app-order-review summary {
  cursor: pointer;
  color: #3f2418;
  font-weight: 900;
}

.app-order-review p {
  margin: 4px 0 0;
  color: #6f5a4d;
  font-size: .9rem;
}

.app-review-form-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.app-review-form-grid label {
  color: #5d4035;
  font-size: .82rem;
  font-weight: 900;
}

.app-review-form-grid input,
.app-review-form-grid select,
.app-review-form-grid textarea {
  width: 100%;
  margin-top: 4px;
  border: 1px solid rgba(43, 24, 16, .14);
  border-radius: 8px;
  color: #2b1810;
  font: inherit;
  font-weight: 600;
  padding: 9px 10px;
}

.app-review-form-grid__full {
  grid-column: 1 / -1;
}

.app-order-items {
  display: grid;
  gap: 8px;
  padding: 12px 16px;
}

.app-order-item {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #3f2418;
  font-size: .92rem;
  font-weight: 800;
}

.app-order-item img {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  object-fit: cover;
  background: #efe4cd;
}

@media (max-width: 767.98px) {
  .app-home-overview,
  .app-page {
    padding: 18px 0 110px;
  }

  .app-home-hero,
  .app-page-header,
  .app-home-promo,
  .app-status-panel__top {
    align-items: flex-start;
    flex-direction: column;
  }

  .app-home-search {
    grid-template-columns: 1fr;
  }

  .app-home-quick-actions,
  .app-orders-list--compact {
    grid-template-columns: 1fr;
  }

  .app-home-hero--logged {
    padding: 18px;
  }

  .app-home-hero--logged .app-home-hero__cta {
    width: 100%;
  }

  .app-profile-grid {
    grid-template-columns: 1fr;
  }

  .app-status-steps {
    grid-template-columns: repeat(2, 1fr);
  }

  .app-review-form-grid {
    grid-template-columns: 1fr;
  }
}

/* Drawer checkout em etapas */
.drawer-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(72, 36, 24, .08);
  background: #fffaf2;
}

.drawer-step {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: #756255;
  font: inherit;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.drawer-step::before {
  content: '';
  position: absolute;
  top: 13px;
  left: calc(-50% + 17px);
  right: calc(50% + 17px);
  height: 2px;
  background: #efe4cd;
  border-radius: 999px;
}

.drawer-step:first-child::before {
  display: none;
}

.drawer-step.is-active::before,
.drawer-step.is-complete::before {
  background: #3f2418;
}

.drawer-step span {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #efe4cd;
  color: #7c5f4b;
  font-size: 12px;
}

.drawer-step strong {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.drawer-step.is-active {
  color: #3f2418;
}

.drawer-step.is-active span,
.drawer-step.is-complete span {
  background: #3f2418;
  color: #fff7ed;
}

.drawer-step.is-complete span {
  background: #d85a30;
}

.drawer-step-panel {
  display: none;
}

.drawer-step-panel.is-active {
  display: block;
}

.drawer-footer {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

.drawer-footer .drawer-itens {
  max-height: none;
  padding-bottom: 12px;
}

.drawer-acoes {
  position: sticky;
  bottom: 0;
  z-index: 2;
  border-top: 1px solid rgba(72, 36, 24, .08);
  background: #fff;
  box-shadow: 0 -14px 28px rgba(43, 24, 16, .08);
}

.drawer-acoes-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.drawer-btn-voltar,
.drawer-btn-continuar {
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  border-radius: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
}

.drawer-btn-voltar {
  border: 1px solid rgba(72, 36, 24, .16);
  background: #fffaf2;
  color: #3f2418;
}

.drawer-btn-continuar {
  border: 0;
  background: #3f2418;
  color: #fff;
}

.drawer-btn-enviar {
  min-height: 46px;
}

.drawer-step-panel[data-step-panel="payment"].is-active ~ .drawer-acoes .drawer-btn-enviar,
.drawer-btn-enviar:not([style*="display: none"]) {
  animation: drawerWhatsappPulse 1.45s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(37, 211, 102, .42);
}

.drawer-btn-enviar:disabled {
  animation: none;
  box-shadow: none;
}

.ifood-linha--cashback-restante {
  color: #6f5142;
  font-weight: 700;
}

.ifood-linha--cashback {
  color: #7a4a12;
  font-weight: 700;
}

@media (max-width: 768px) {
  .carrinho-drawer {
    inset: 0 0 auto auto;
    width: 100vw;
    max-width: none;
    height: 100dvh;
    padding-bottom: env(safe-area-inset-bottom);
    border-radius: 0;
  }

  .drawer-header {
    padding-top: max(18px, env(safe-area-inset-top));
  }
}

/* UX refinada do checkout compartilhado */
.carrinho-drawer {
  width: min(480px, 100vw);
}

.drawer-header,
.drawer-steps {
  flex: 0 0 auto;
}

.drawer-checkout {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fffaf2;
}

.drawer-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 14px;
}

.drawer-body .drawer-step-panel.is-active {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.drawer-body .drawer-itens {
  max-height: none;
  padding: 0;
  overflow: visible;
  background: transparent;
}

.drawer-body .drawer-section {
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 8px;
  background: #fff;
}

.drawer-body .drawer-section:last-child {
  border-bottom: 1px solid rgba(72, 36, 24, .08);
}

.drawer-acoes {
  flex: 0 0 auto;
  position: static;
  padding: 12px 16px max(16px, env(safe-area-inset-bottom));
}

.drawer-acoes-row {
  gap: 10px;
}

.drawer-btn-zerar {
  align-self: center;
  width: auto;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid rgba(127, 45, 28, .18);
  border-radius: 999px;
  background: #fff;
  color: #7f2d1c;
  text-decoration: none;
  font-size: 12px;
  font-weight: 800;
}

.drawer-btn-zerar:hover {
  background: #fff4ef;
}

.drawer-btn-enviar--card {
  background: #3f2418;
}

.drawer-btn-enviar--card:hover {
  background: #25130d;
}

.drawer-payment-native {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.drawer-payment-field {
  margin-bottom: 12px;
}

.drawer-payment-methods {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.drawer-payment-method {
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 8px;
  background: #fff;
  color: #3f2418;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.drawer-payment-method span,
.drawer-payment-method small {
  display: block;
}

.drawer-payment-method span {
  font-size: 13px;
  font-weight: 900;
}

.drawer-payment-method small {
  margin-top: 3px;
  color: #856550;
  font-size: 10px;
  line-height: 1.25;
}

.drawer-payment-method.is-active {
  border-color: #4b2418;
  background: #fff8f1;
  box-shadow: inset 0 0 0 1px #4b2418;
}

.drawer-pix {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(37, 211, 102, .28);
  border-radius: 8px;
  background: #f5fff8;
}

.drawer-cashback {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  padding: 12px;
  border: 1px solid rgba(72, 36, 24, .10);
  border-radius: 8px;
  background: #fff;
}

.drawer-cashback__toggle {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
  margin: 0;
  color: #3f2418;
  cursor: pointer;
}

.drawer-cashback__toggle input {
  width: 17px;
  height: 17px;
  margin: 0;
  accent-color: #4b2418;
}

.drawer-cashback__toggle strong,
.drawer-cashback__toggle small {
  display: block;
}

.drawer-cashback__toggle strong {
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
}

.drawer-cashback__toggle small {
  margin-top: 1px;
  color: #8a6a57;
  font-size: 11px;
  line-height: 1.25;
}

.drawer-cashback__summary {
  margin: -1px 0 0 26px;
  color: #3a6f21;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.35;
}

.drawer-cashback-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(72, 36, 24, .08);
  color: #4b2418;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  user-select: none;
}

.drawer-cashback-switch input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.drawer-cashback-switch__track {
  position: relative;
  flex: 0 0 auto;
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: #eadfd5;
  box-shadow: inset 0 0 0 1px rgba(72, 36, 24, .12);
  transition: background .18s ease, box-shadow .18s ease;
}

.drawer-cashback-switch__track::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 2px 7px rgba(72, 36, 24, .24);
  transition: transform .18s ease;
}

.drawer-cashback-switch input:checked + .drawer-cashback-switch__track {
  background: #4b2418;
  box-shadow: inset 0 0 0 1px #4b2418;
}

.drawer-cashback-switch input:checked + .drawer-cashback-switch__track::after {
  transform: translateX(18px);
}

@keyframes drawerWhatsappPulse {
  0% { transform: translateY(0) scale(1); box-shadow: 0 0 0 0 rgba(37, 211, 102, .42); }
  55% { transform: translateY(-1px) scale(1.015); box-shadow: 0 0 0 10px rgba(37, 211, 102, 0); }
  100% { transform: translateY(0) scale(1); box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .drawer-btn-enviar {
    animation: none !important;
  }
}

.drawer-pix__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.drawer-pix__head strong,
.drawer-pix__head span {
  display: block;
}

.drawer-pix__head strong {
  color: #173f25;
  font-size: 13px;
}

.drawer-pix__head span {
  color: #1f7a3f;
  font-size: 18px;
  font-weight: 900;
}

.drawer-pix__head button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 8px;
  background: #173f25;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  padding: 9px 10px;
}

.drawer-pix__qr {
  display: grid;
  place-items: center;
  min-height: 188px;
  margin-bottom: 10px;
  border-radius: 8px;
  background: #fff;
  color: #5f7467;
  font-size: 12px;
  text-align: center;
}

.drawer-pix__qr img,
.drawer-pix__qr canvas {
  width: 176px;
  height: 176px;
}

.drawer-pix__payload {
  width: 100%;
  resize: none;
  border: 1px solid rgba(23, 63, 37, .16);
  border-radius: 8px;
  background: #fff;
  color: #355242;
  font-size: 11px;
  line-height: 1.4;
  padding: 8px;
}

.drawer-pix__payload[hidden] {
  display: none;
}

.drawer-pix__feedback,
.drawer-recaptcha-note {
  margin: 6px 0 0;
  color: #1f7a3f;
  font-size: 11px;
  font-weight: 700;
}

.drawer-card {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 18px rgba(43, 24, 16, .04);
}

.drawer-card .drawer-input,
.drawer-card .drawer-select,
.drawer-card-frame {
  min-height: 44px;
  border-radius: 8px;
  color: #3f2418;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
}

.drawer-card .drawer-input::placeholder,
.drawer-card .drawer-select::placeholder {
  color: #8b817c;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  opacity: 1;
}

.drawer-card .drawer-cashback__toggle {
  gap: 8px;
}

.drawer-card .drawer-cashback__toggle strong {
  font-size: 13px;
}

.drawer-card .drawer-cashback__toggle small {
  font-size: 10px;
  line-height: 1.25;
}

.drawer-save-card-toggle {
  margin-top: 2px;
  padding-top: 2px;
}

.drawer-card .drawer-row {
  gap: 10px;
}

.drawer-card-number-wrap {
  position: relative;
}

.drawer-card-number-wrap .drawer-card-frame {
  padding-right: 76px;
}

.drawer-card-brand {
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  max-width: 58px;
  overflow: hidden;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 6px;
  background: #fff8f1;
  color: #4b2418;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 5px 6px;
  pointer-events: none;
}

.drawer-card-frame {
  display: flex;
  align-items: center;
  height: 44px;
  min-height: 44px;
  padding: 0 12px;
  overflow: hidden;
  background: #fff;
  border-color: rgba(72, 36, 24, .18);
  color: #8b817c;
}

.drawer-card-frame iframe {
  width: 100%;
  height: 40px !important;
  min-height: 0;
  border: 0;
}

.drawer-card__feedback {
  margin: 8px 0 0;
  color: #7f2d1c;
  font-size: 11px;
  font-weight: 800;
}

.drawer-saved-card {
  display: grid;
  gap: 10px;
}

.ios-pwa-install[hidden],
.ios-pwa-modal[hidden],
.app-start-loader[hidden] {
  display: none !important;
}

.app-start-loader {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  background: #fff;
  opacity: 1;
  transition: opacity .22s ease;
}

.app-start-loader.is-leaving {
  opacity: 0;
  pointer-events: none;
}

.app-start-loader__inner {
  display: grid;
  justify-items: center;
  gap: 18px;
  transform: translateY(-3vh);
}

.app-start-loader__dots {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 14px;
}

.app-start-loader__dots span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5b2a0a;
  animation: appStartDot 900ms ease-in-out infinite;
}

.app-start-loader__dots span:nth-child(2) { animation-delay: 100ms; }
.app-start-loader__dots span:nth-child(3) { animation-delay: 200ms; }
.app-start-loader__dots span:nth-child(4) { animation-delay: 300ms; }

.app-start-loader img {
  width: 96px;
  height: 96px;
  border-radius: 22px;
  box-shadow: 0 18px 44px rgba(43, 24, 16, .08);
}

@keyframes appStartDot {
  0%,
  100% {
    transform: translateY(0) scale(.78);
    opacity: .35;
  }

  45% {
    transform: translateY(-3px) scale(1);
    opacity: 1;
  }
}

.ios-pwa-install {
  position: fixed;
  right: 14px;
  bottom: calc(84px + env(safe-area-inset-bottom));
  left: 14px;
  z-index: 1500;
  display: grid;
  gap: 10px;
  max-width: 430px;
  margin: 0 auto;
  padding: 12px;
  border: 1px solid rgba(72, 36, 24, .12);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(43, 24, 16, .18);
}

.ios-pwa-install__body {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  align-items: center;
}

.ios-pwa-install__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff8f1;
}

.ios-pwa-install__icon img,
.ios-pwa-modal__panel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.ios-pwa-install strong,
.ios-pwa-install span {
  display: block;
}

.ios-pwa-install strong {
  color: #3f2418;
  font-size: 13px;
  font-weight: 900;
}

.ios-pwa-install span {
  color: #6f5a4d;
  font-size: 12px;
  line-height: 1.35;
}

.ios-pwa-install__actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px;
}

.ios-pwa-install__actions button,
.ios-pwa-modal__close {
  border: 0;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}

.ios-pwa-install__actions button:first-child {
  min-height: 38px;
  background: #3f2418;
  color: #fff;
}

.ios-pwa-install__actions button:last-child {
  min-height: 38px;
  padding: 0 10px;
  background: #fff8f1;
  color: #6f5a4d;
}

.ios-pwa-modal {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  place-items: end center;
  padding: 18px;
  background: rgba(31, 18, 12, .36);
}

.ios-pwa-modal__panel {
  position: relative;
  width: min(420px, 100%);
  padding: 22px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 24px 60px rgba(31, 18, 12, .22);
}

.ios-pwa-modal__panel img {
  width: 54px;
  height: 54px;
  border-radius: 8px;
}

.ios-pwa-modal__panel h2 {
  margin: 14px 0 12px;
  color: #3f2418;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0;
}

.ios-pwa-modal__panel ol {
  margin: 0;
  padding-left: 20px;
  color: #5d4035;
  font-size: 14px;
  line-height: 1.7;
}

.ios-pwa-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  background: #fff8f1;
  color: #5d4035;
}

.ios-pwa-modal-open {
  overflow: hidden;
}

.passkey-login-btn {
  width: 100%;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid rgba(63, 36, 24, .12);
  border-radius: 8px;
  background: #3f2418;
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 800;
}

.passkey-login-btn[hidden],
.passkey-offer[hidden] {
  display: none !important;
}

.passkey-login-btn:disabled {
  opacity: .72;
}

.passkey-login-feedback {
  min-height: 18px;
  margin: -6px 0 12px;
  color: #6f5a4d;
  font-size: 12px;
}

.passkey-offer {
  position: fixed;
  inset: 0;
  z-index: 1700;
  display: grid;
  place-items: end center;
  padding: 18px;
  background: rgba(31, 18, 12, .42);
}

.passkey-offer__panel {
  width: min(430px, 100%);
  display: grid;
  gap: 14px;
  padding: 20px;
  border-radius: 8px;
  background: #fffdf8;
  box-shadow: 0 24px 60px rgba(31, 18, 12, .24);
}

.passkey-offer__icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #fff3df;
  color: #3f2418;
  font-size: 25px;
}

.passkey-offer__body h2 {
  margin: 0 0 8px;
  color: #3f2418;
  font-size: 20px;
  font-weight: 900;
}

.passkey-offer__body p {
  margin: 0;
  color: #6f5a4d;
  font-size: 14px;
  line-height: 1.55;
}

.passkey-offer__feedback {
  min-height: 18px;
  margin-top: 8px !important;
  font-size: 12px !important;
  font-weight: 700;
}

.passkey-offer__actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.passkey-offer__actions button {
  min-height: 42px;
  border-radius: 8px;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}

.passkey-offer__primary {
  border: 0;
  background: #3f2418;
  color: #fff;
}

.passkey-offer__secondary {
  border: 1px solid rgba(63, 36, 24, .12);
  background: #fff8f1;
  color: #6f5a4d;
}

.passkey-account-panel > span {
  color: #6f5a4d;
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 768px) {
  .carrinho-drawer {
    width: 100vw;
    height: 100dvh;
  }

  .drawer-header {
    padding: max(12px, env(safe-area-inset-top)) 14px 10px;
  }

  .drawer-titulo {
    font-size: 14px;
  }

  .drawer-fechar {
    min-width: 40px;
    min-height: 40px;
  }

  .drawer-steps {
    gap: 0;
    padding: 8px 8px 10px;
  }

  .drawer-step {
    gap: 3px;
    min-height: 46px;
    padding: 0 2px;
    font-size: 9px;
  }

  .drawer-step span {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }

  .drawer-step::before {
    top: 11px;
    left: calc(-50% + 15px);
    right: calc(50% + 15px);
  }

  .drawer-body {
    padding: 8px;
    overscroll-behavior: contain;
  }

  .drawer-body .drawer-step-panel.is-active {
    gap: 8px;
  }

  .drawer-section {
    padding: 12px;
  }

  .drawer-body .drawer-section {
    border-radius: 8px;
  }

  .drawer-card {
    margin-top: 10px;
    padding: 12px;
  }

  .drawer-field {
    margin-bottom: 9px;
  }

  .drawer-label {
    margin-bottom: 5px;
    font-size: 10px;
  }

  .drawer-input,
  .drawer-select {
    min-height: 42px;
    padding: 8px 11px;
    font-size: 13px;
  }

  .drawer-card-frame {
    height: 42px;
    min-height: 42px;
  }

  .drawer-card-frame iframe {
    height: 38px !important;
  }

  .drawer-card .drawer-row {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .drawer-card .drawer-row .drawer-field {
    min-width: 0;
  }

  .drawer-cashback__amount {
    grid-template-columns: 1fr;
  }

  .drawer-acoes {
    gap: 8px;
    padding: 10px 8px max(10px, env(safe-area-inset-bottom));
    border-top: 1px solid rgba(72, 36, 24, .08);
    background: #fff;
    box-shadow: 0 -10px 22px rgba(43, 24, 16, .06);
  }

  .floating-cart {
    bottom: calc(74px + env(safe-area-inset-bottom));
    width: min(356px, calc(100vw - 32px));
    border-radius: 20px;
  }

  .drawer-btn-voltar,
  .drawer-btn-continuar,
  .drawer-btn-enviar {
    min-height: 48px;
    border-radius: 8px;
    font-size: 14px;
  }

  .drawer-item {
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 11px;
    padding: 11px;
    border-radius: 16px;
  }

  .drawer-item-img {
    width: 92px;
  }

  .drawer-item-nome {
    font-size: 15px;
  }

  .drawer-qty-btn {
    width: 34px;
    height: 34px;
  }

  .drawer-step-panel[data-step-panel="payment"].is-active {
    display: grid;
    gap: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-section {
    padding: 10px 12px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-section-label {
    margin-bottom: 8px;
    font-size: 9px;
    letter-spacing: 1.3px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-section-num {
    width: 20px;
    height: 20px;
    font-size: 10px;
  }

  #drawer-totais .ifood-totais {
    display: grid;
    gap: 6px;
  }

  #drawer-totais .ifood-linha {
    font-size: 12px;
    line-height: 1.25;
  }

  #drawer-totais .ifood-linha--total {
    margin-top: 2px;
    padding-top: 8px;
    font-size: 16px;
  }

  #drawer-totais .ifood-divisor {
    margin: 2px 0 0;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-payment-field {
    margin-bottom: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-payment-methods {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-payment-method {
    min-height: 54px;
    padding: 9px 10px;
    border-radius: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-card {
    margin-top: 8px;
    padding: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-card .drawer-cashback__toggle,
  .drawer-step-panel[data-step-panel="payment"] .drawer-saved-card,
  .drawer-step-panel[data-step-panel="payment"] #drawer-card-form {
    padding: 10px;
    border: 1px solid rgba(72, 36, 24, .10);
    border-radius: 8px;
    background: #fff;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-card .drawer-field {
    margin-bottom: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-card .drawer-row {
    gap: 8px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-pix {
    margin-top: 8px;
    padding: 10px;
  }

  .drawer-step-panel[data-step-panel="payment"] .drawer-pix__payload {
    max-height: 54px;
  }

  .drawer-field[data-recaptcha-wrap].d-none,
  .drawer-field[data-recaptcha-wrap][hidden] {
    display: none !important;
  }

  .drawer-field[data-recaptcha-wrap].d-none + .drawer-recaptcha-note {
    display: none;
  }
}

/* Override final: new_navbartop precisa vencer as regras legadas acima. */
.site-header--new-navbartop .site-nav.navbar {
  min-height: 126px !important;
  height: auto !important;
  border-bottom: 0 !important;
  background: var(--cor-primaria) !important;
  box-shadow: 0 10px 24px rgba(43, 24, 16, .16) !important;
  backdrop-filter: none !important;
}

.site-header--new-navbartop .site-nav .navbar-inner-wrap {
  min-height: 66px !important;
}

.site-header--new-navbartop .site-nav .navbar-brand {
  color: #fffaf2 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 900 !important;
}

.site-header--new-navbartop .app-menu-toggle__bar {
  background: #fffaf2 !important;
}

.site-header--new-navbartop .navbar-action-icon-btn,
.site-header--new-navbartop .navbar-cart-icon-btn--mobile,
.site-header--new-navbartop .app-menu-toggle {
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
}

.site-header--new-navbartop .navbar-top-search {
  width: 100% !important;
  padding: 0 clamp(18px, 4vw, 44px) 14px !important;
  background: var(--cor-primaria) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top {
  width: min(720px, calc(100% - 48px)) !important;
  margin: 0 auto !important;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
  width: 100% !important;
  min-height: 54px !important;
  padding: 12px 52px 12px 56px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--cor-texto-principal) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 19px !important;
  line-height: 1.2 !important;
  box-shadow: 0 10px 24px rgba(43, 24, 16, .16) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile::placeholder {
  color: var(--cor-texto-suave) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top svg {
  right: auto !important;
  left: 20px !important;
  color: var(--cor-acento) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
  padding-bottom: 18px !important;
}

.site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
  padding: 28px 38px 18px !important;
  border-bottom: 0 !important;
  background: #fff !important;
  color: var(--cor-texto-medio) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 28px !important;
  font-weight: 850 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.site-header--new-navbartop .navbar-search-trending-list {
  display: grid !important;
  gap: 0 !important;
  padding: 0 38px !important;
}

.site-header--new-navbartop .navbar-search-trending {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  width: 100% !important;
  min-height: 80px !important;
  padding: 8px 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: var(--cor-texto-medio) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 28px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  white-space: normal !important;
}

.site-header--new-navbartop .navbar-search-trending:hover,
.site-header--new-navbartop .navbar-search-trending:focus {
  background: var(--cor-bg-muted) !important;
  color: var(--cor-texto-principal) !important;
  outline: none !important;
}

.site-header--new-navbartop .navbar-search-trending span {
  color: var(--cor-acento) !important;
  font-size: 21px !important;
  font-weight: 850 !important;
}

.site-header--new-navbartop .navbar-search-trending strong {
  overflow-wrap: anywhere !important;
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

@media (max-width: 991.98px) {
  body:has(.site-header--new-navbartop) {
    padding-top: 126px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 16px !important;
    gap: 10px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 38px !important;
    margin-right: 8px !important;
    object-fit: contain !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    flex: 0 0 auto !important;
    gap: 8px !important;
    margin-left: 0 !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile,
  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .app-menu-toggle {
    width: 38px !important;
    height: 40px !important;
    padding: 0 !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile svg,
  .site-header--new-navbartop .navbar-action-icon-btn svg {
    width: 29px !important;
    height: 29px !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 126px !important;
    max-height: calc(100dvh - 126px) !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 16px 14px 64px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top {
    width: 100% !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    position: fixed !important;
    top: 126px !important;
    right: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    max-height: calc(100dvh - 126px) !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
}

@media (max-width: 575.98px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 136px !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 136px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 14px 14px 60px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
    min-height: 56px !important;
    padding: 12px 48px 12px 52px !important;
    font-size: 17px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top svg {
    left: 18px !important;
    width: 25px !important;
    height: 25px !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 136px !important;
    max-height: calc(100dvh - 136px) !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 136px !important;
    max-height: calc(100dvh - 136px) !important;
  }

  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding: 26px 30px 16px !important;
    font-size: 27px !important;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding: 0 30px !important;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    min-height: 80px !important;
    font-size: 28px !important;
  }
}

@media (max-width: 374px) {
  .site-header--new-navbartop .site-nav .navbar-brand {
    font-size: 14px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 32px !important;
    height: 32px !important;
  }

  .site-header--new-navbartop .navbar-cart-icon-btn--mobile,
  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .app-menu-toggle {
    width: 32px !important;
    height: 36px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    padding-inline: 10px !important;
    gap: 4px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    gap: 4px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding-left: 50px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
    min-height: 50px !important;
    padding: 11px 42px 11px 46px !important;
    font-size: 15px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top svg {
    left: 18px !important;
    width: 22px !important;
    height: 22px !important;
  }

  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding-inline: 22px !important;
    font-size: 23px !important;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding-inline: 22px !important;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 46px minmax(0, 1fr) !important;
    min-height: 66px !important;
    font-size: 23px !important;
  }

  .site-header--new-navbartop .navbar-search-trending span {
    font-size: 18px !important;
  }
}

/* Ajuste de conforto visual dos termos mais buscados. */
.site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
  padding: 22px 24px 10px !important;
  color: var(--cor-texto-principal) !important;
  font-size: 21px !important;
  font-weight: 900 !important;
}

.site-header--new-navbartop .navbar-search-trending-list {
  padding: 0 24px 10px !important;
}

.site-header--new-navbartop .navbar-search-trending {
  grid-template-columns: 42px minmax(0, 1fr) !important;
  min-height: 52px !important;
  padding: 6px 0 !important;
  color: var(--cor-texto-principal) !important;
  font-size: 18px !important;
  font-weight: 600 !important;
}

.site-header--new-navbartop .navbar-search-trending span {
  font-size: 15px !important;
}

@media (max-width: 575.98px) {
  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding: 20px 20px 8px !important;
    font-size: 20px !important;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding: 0 20px 10px !important;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 40px minmax(0, 1fr) !important;
    min-height: 50px !important;
    font-size: 17px !important;
  }
}

@media (max-width: 374px) {
  .site-header--new-navbartop .navbar-search-results--trending .navbar-search-header {
    padding-inline: 18px !important;
    font-size: 19px !important;
  }

  .site-header--new-navbartop .navbar-search-trending-list {
    padding-inline: 18px !important;
  }

  .site-header--new-navbartop .navbar-search-trending {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    min-height: 46px !important;
    font-size: 16px !important;
  }
}

/* Ajuste final do new_navbartop: topo e area da busca brancos. */
.site-header--new-navbartop .site-nav.navbar {
  min-height: 122px !important;
  background: #fff !important;
  border-bottom: 1px solid rgba(72, 36, 24, .08) !important;
  box-shadow: 0 8px 22px rgba(45, 22, 15, .08) !important;
}

.site-header--new-navbartop .site-nav .navbar-brand {
  color: var(--cor-texto-principal) !important;
}

.site-header--new-navbartop .app-menu-toggle__bar {
  background: var(--cor-texto-principal) !important;
}

.site-header--new-navbartop .navbar-action-icon-btn,
.site-header--new-navbartop .navbar-cart-icon-btn--mobile,
.site-header--new-navbartop .app-menu-toggle {
  color: var(--cor-texto-principal) !important;
  background: transparent !important;
}

.site-header--new-navbartop .navbar-action-icon-btn:hover,
.site-header--new-navbartop .navbar-action-icon-btn.active,
.site-header--new-navbartop .navbar-cart-icon-btn--mobile:hover,
.site-header--new-navbartop .app-menu-toggle:hover {
  color: var(--cor-acento) !important;
  background: var(--cor-bg-muted) !important;
}

.site-header--new-navbartop .navbar-top-search {
  padding: 0 10px 10px !important;
  background: #fff !important;
}

.site-header--new-navbartop .navbar-search-mobile--top {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
  min-height: 44px !important;
  padding: 10px 44px 10px 44px !important;
  border: 1px solid var(--cor-borda-acento) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--cor-texto-principal) !important;
  font-size: 14px !important;
  box-shadow: 0 8px 20px rgba(45, 22, 15, .08) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top svg {
  left: auto !important;
  right: 14px !important;
  width: 22px !important;
  height: 22px !important;
  color: var(--cor-texto-principal) !important;
}

@media (max-width: 991.98px) {
  body:has(.site-header--new-navbartop) {
    padding-top: 122px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 62px !important;
    min-height: 62px !important;
    padding: 0 14px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 8px 10px !important;
  }

  .site-header--new-navbartop .app-menu-panel,
  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 122px !important;
    max-height: calc(100dvh - 122px) !important;
  }
}

@media (max-width: 575.98px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 116px !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 116px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 8px 10px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
    min-height: 40px !important;
    padding: 9px 42px 9px 14px !important;
    font-size: 13px !important;
  }

  .site-header--new-navbartop .app-menu-panel,
  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 116px !important;
    max-height: calc(100dvh - 116px) !important;
  }
}

/* Refinos finais: desktop com hamburguer e resultados com imagem real. */
.site-header--new-navbartop .navbar-search-result {
  gap: 12px !important;
  padding: 10px 14px !important;
}

.site-header--new-navbartop .navbar-search-result-image {
  flex: 0 0 auto;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(72, 36, 24, .08);
  border-radius: 8px;
  background: var(--cor-bg-muted);
  object-fit: cover;
}

.site-header--new-navbartop .navbar-search-result-preco {
  color: var(--cor-texto-principal) !important;
  font-size: 12px !important;
}

.site-header--new-navbartop .navbar-search-result-tag {
  color: var(--cor-acento) !important;
}

@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 68px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 68px !important;
    min-height: 68px !important;
    gap: 18px !important;
    padding: 0 clamp(24px, 3vw, 48px) !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading {
    display: inline-grid !important;
    width: 42px !important;
    height: 42px !important;
    margin-right: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    flex: 0 0 auto !important;
    min-width: 210px !important;
    margin-right: 16px !important;
    font-size: 17px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 40px !important;
    height: 40px !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop {
    flex: 1 1 auto !important;
    max-width: 760px !important;
    margin-left: auto !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input {
    width: 100% !important;
    min-height: 44px !important;
    padding: 10px 48px 10px 18px !important;
    border: 1px solid var(--cor-borda-acento) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--cor-texto-principal) !important;
    font-size: 14px !important;
    box-shadow: 0 10px 28px rgba(45, 22, 15, .08) !important;
    transition: border-color .2s ease, box-shadow .2s ease !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input:focus {
    width: 100% !important;
    border-color: var(--cor-acento) !important;
    box-shadow: 0 0 0 3px rgba(166, 83, 23, .12) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-icon {
    right: 16px !important;
    color: var(--cor-texto-principal) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results {
    right: 0 !important;
    left: auto !important;
    width: min(560px, 100%) !important;
    max-height: min(520px, calc(100dvh - 86px)) !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    margin-left: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    position: fixed !important;
    top: 68px !important;
    right: auto !important;
    left: clamp(24px, 3vw, 48px) !important;
    display: none !important;
    width: min(340px, calc(100vw - 48px)) !important;
    max-height: calc(100dvh - 84px) !important;
    padding: 10px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(72, 36, 24, .1) !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(45, 22, 15, .16) !important;
  }

  .site-header--new-navbartop .app-menu-panel.show,
  .site-header--new-navbartop .app-menu-panel.collapsing {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-list {
    display: grid !important;
    align-items: stretch !important;
    gap: 2px !important;
    margin: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button {
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border-radius: 8px !important;
  }
}

/* Estado final do desktop: sem duplicidade e hamburger visivel no topo branco. */
.site-header--new-navbartop .app-menu-toggle__bar {
  background: var(--cor-texto-principal) !important;
}

@media (min-width: 992px) {
  .site-header--new-navbartop .app-menu-panel .nav-item.d-lg-none {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading .app-menu-toggle__bar {
    display: block !important;
    width: 22px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--cor-texto-principal) !important;
  }
}

/* New navbartop: mesma composicao no desktop e no mobile. */
.site-header--new-navbartop .site-nav.navbar {
  align-items: stretch !important;
  min-height: 116px !important;
  background: #fff !important;
}

.site-header--new-navbartop .site-nav .navbar-inner-wrap {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  height: 60px !important;
  min-height: 60px !important;
  padding: 0 14px !important;
}

.site-header--new-navbartop .app-menu-toggle--leading {
  display: inline-grid !important;
  flex: 0 0 42px !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  margin: 0 10px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.site-header--new-navbartop .app-menu-toggle--leading .app-menu-toggle__bar {
  display: block !important;
  width: 22px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: var(--cor-texto-principal) !important;
}

.site-header--new-navbartop .site-nav .navbar-brand {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin-right: 10px !important;
  color: var(--cor-texto-principal) !important;
  font-size: 16px !important;
  white-space: nowrap !important;
}

.site-header--new-navbartop .site-nav .navbar-brand img {
  width: 36px !important;
  height: 36px !important;
}

.site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
  flex: 0 0 auto !important;
  gap: 10px !important;
  margin-left: auto !important;
}

.site-header--new-navbartop .navbar-action-icon-btn,
.site-header--new-navbartop .navbar-cart-icon-btn--mobile {
  display: inline-grid !important;
  flex: 0 0 38px !important;
  place-items: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  color: var(--cor-texto-principal) !important;
  background: transparent !important;
}

.site-header--new-navbartop .navbar-top-search {
  display: block !important;
  width: 100% !important;
  padding: 0 8px 10px !important;
  background: #fff !important;
}

.site-header--new-navbartop .navbar-search-mobile--top {
  width: min(760px, 100%) !important;
  margin: 0 auto !important;
}

.site-header--new-navbartop .navbar-search-mobile--top .navbar-search-input-mobile {
  min-height: 38px !important;
  padding: 8px 42px 8px 14px !important;
  border: 1px solid var(--cor-borda-acento) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--cor-texto-principal) !important;
  font-size: 13px !important;
  box-shadow: 0 8px 20px rgba(45, 22, 15, .08) !important;
}

.site-header--new-navbartop .navbar-search-mobile--top svg {
  right: 14px !important;
  left: auto !important;
  width: 21px !important;
  height: 21px !important;
  color: var(--cor-texto-principal) !important;
}

.site-header--new-navbartop .navbar-search--top-desktop {
  display: none !important;
}

body:has(.site-header--new-navbartop) {
  padding-top: 116px !important;
}

@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 116px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 66px !important;
    min-height: 66px !important;
    padding: 0 clamp(28px, 4vw, 52px) !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin-right: 16px !important;
    font-size: 17px !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    padding: 0 clamp(28px, 4vw, 52px) 12px !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top {
    width: min(760px, 100%) !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 66px !important;
    left: clamp(28px, 4vw, 52px) !important;
    width: min(340px, calc(100vw - 56px)) !important;
    max-height: calc(100dvh - 82px) !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.d-lg-none {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.d-none.d-lg-block {
    display: none !important;
  }

  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 116px !important;
    right: clamp(28px, 4vw, 52px) !important;
    left: auto !important;
    width: min(560px, calc(100vw - 56px)) !important;
    max-height: calc(100dvh - 132px) !important;
  }
}

@media (max-width: 575.98px) {
  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    padding: 0 8px !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading {
    margin-right: 6px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    font-size: 16px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 100% !important;
    height: 34px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    gap: 6px !important;
  }
}

/* New navbartop desktop: inspirado na Kopenhagen, usando a identidade Chef. */
@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    min-height: 126px !important;
    padding: 0 !important;
    border: 0 !important;
    background: var(--cor-primaria) !important;
    box-shadow: 0 14px 34px rgba(45, 22, 15, .14) !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 126px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    display: grid !important;
    grid-template-columns: 250px minmax(360px, 760px) auto !important;
    grid-template-rows: 82px 44px !important;
    column-gap: clamp(28px, 4vw, 72px) !important;
    align-items: center !important;
    width: min(1440px, 100%) !important;
    height: 126px !important;
    min-height: 126px !important;
    margin: 0 auto !important;
    padding: 0 clamp(32px, 5vw, 72px) !important;
    background: transparent !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading {
    display: none !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    justify-self: start !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 100% !important;
    height: 58px !important;
    margin-right: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: drop-shadow(0 3px 8px rgba(0, 0, 0, .14)) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop {
    position: relative !important;
    display: flex !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input {
    width: 100% !important;
    min-height: 48px !important;
    padding: 12px 52px 12px 20px !important;
    border: 1px solid rgba(255, 255, 255, .7) !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: var(--cor-texto-principal) !important;
    font-size: 14px !important;
    box-shadow: none !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input:focus {
    border-color: var(--cor-acento) !important;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .2) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-icon {
    position: absolute !important;
    top: 50% !important;
    right: 18px !important;
    transform: translateY(-50%) !important;
    color: var(--cor-acento) !important;
    pointer-events: none !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results {
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    width: min(560px, 100%) !important;
    max-height: min(540px, calc(100dvh - 144px)) !important;
    border-radius: 0 0 10px 10px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    justify-self: end !important;
    display: inline-flex !important;
    gap: 18px !important;
    margin-left: 0 !important;
  }

  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .navbar-cart-icon-btn--mobile {
    display: inline-grid !important;
    width: 44px !important;
    height: 44px !important;
    color: #fff !important;
    background: transparent !important;
  }

  .site-header--new-navbartop .navbar-action-icon-btn:hover,
  .site-header--new-navbartop .navbar-action-icon-btn.active,
  .site-header--new-navbartop .navbar-cart-icon-btn--mobile:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, .12) !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    position: static !important;
    display: flex !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--cor-primaria) !important;
    box-shadow: none !important;
  }

  .site-header--new-navbartop .app-menu-list {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(24px, 4vw, 58px) !important;
    width: min(1060px, 100%) !important;
    min-height: 44px !important;
    margin: 0 auto !important;
    padding: 0 clamp(32px, 5vw, 72px) !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.d-lg-none {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.d-none.d-lg-block {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button {
    display: inline-flex !important;
    width: auto !important;
    min-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    background: transparent !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link__icon {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:focus {
    color: #fff !important;
    background: transparent !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button::after {
    right: 0 !important;
    bottom: 4px !important;
    left: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--cor-acento) !important;
    transform-origin: center !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:hover::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:focus::after {
    transform: scaleX(1) !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    grid-template-columns: 220px minmax(320px, 1fr) auto !important;
    column-gap: 28px !important;
  }

  .site-header--new-navbartop .app-menu-list {
    gap: 28px !important;
  }
}

/* New navbartop desktop: versao clara para valorizar o logo. */
@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 122px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(45, 22, 15, .08) !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 122px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    grid-template-rows: 78px 44px !important;
    height: 122px !important;
    min-height: 122px !important;
    background: #fff !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    color: var(--cor-texto-principal) !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    filter: none !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input {
    border-color: var(--cor-borda-acento) !important;
    background: #fff !important;
    color: var(--cor-texto-principal) !important;
    box-shadow: 0 8px 22px rgba(45, 22, 15, .06) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-input:focus {
    border-color: var(--cor-acento) !important;
    box-shadow: 0 0 0 3px rgba(166, 83, 23, .12) !important;
  }

  .site-header--new-navbartop .navbar-action-icon-btn,
  .site-header--new-navbartop .navbar-cart-icon-btn--mobile {
    color: var(--cor-texto-principal) !important;
  }

  .site-header--new-navbartop .navbar-action-icon-btn:hover,
  .site-header--new-navbartop .navbar-action-icon-btn.active,
  .site-header--new-navbartop .navbar-cart-icon-btn--mobile:hover {
    color: var(--cor-acento) !important;
    background: var(--cor-bg-muted) !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    background: #fff !important;
    border-top: 1px solid rgba(72, 36, 24, .08) !important;
  }

  .site-header--new-navbartop .app-menu-list {
    min-height: 44px !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button {
    color: var(--cor-texto-principal) !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:focus {
    color: var(--cor-acento) !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results {
    max-height: min(540px, calc(100dvh - 140px)) !important;
  }
}

/* New navbartop desktop: links principais dentro do hamburguer. */
@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    display: block !important;
    min-height: 78px !important;
    padding: 0 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(45, 22, 15, .08) !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 78px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    display: grid !important;
    grid-template-columns: 44px 250px minmax(360px, 760px) auto !important;
    grid-template-rows: 78px !important;
    column-gap: clamp(14px, 2.5vw, 40px) !important;
    align-items: center !important;
    width: min(1440px, 100%) !important;
    height: 78px !important;
    min-height: 78px !important;
    margin: 0 auto !important;
    padding: 0 clamp(32px, 5vw, 72px) !important;
    background: #fff !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading {
    display: inline-grid !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    flex: 0 0 auto !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--cor-texto-principal) !important;
    background: transparent !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading:hover,
  .site-header--new-navbartop .app-menu-toggle--leading:focus {
    color: var(--cor-acento) !important;
    background: var(--cor-bg-muted) !important;
  }

  .site-header--new-navbartop .app-menu-toggle--leading .app-menu-toggle__bar {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: currentColor !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--cor-texto-principal) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 100% !important;
    height: 58px !important;
    margin-right: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    filter: none !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop {
    grid-column: 3 !important;
    grid-row: 1 !important;
    justify-self: stretch !important;
    display: flex !important;
    width: 100% !important;
    max-width: 760px !important;
    margin: 0 !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap > .d-flex.ms-auto {
    grid-column: 4 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    display: inline-flex !important;
    gap: 14px !important;
    margin-left: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    position: fixed !important;
    top: 78px !important;
    right: auto !important;
    left: clamp(32px, 5vw, 72px) !important;
    display: none !important;
    width: min(340px, calc(100vw - 64px)) !important;
    max-width: min(340px, calc(100vw - 64px)) !important;
    max-height: calc(100dvh - 94px) !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow-y: auto !important;
    border: 1px solid rgba(72, 36, 24, .1) !important;
    border-radius: 0 0 12px 12px !important;
    background: #fff !important;
    box-shadow: 0 18px 44px rgba(45, 22, 15, .16) !important;
  }

  .site-header--new-navbartop .app-menu-panel.show,
  .site-header--new-navbartop .app-menu-panel.collapsing {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-list {
    display: grid !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.app-menu-main-item {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 0 12px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 8px !important;
    color: var(--cor-texto-principal) !important;
    background: transparent !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button:focus {
    color: var(--cor-acento) !important;
    background: var(--cor-bg-muted) !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link::after,
  .site-header--new-navbartop .app-menu-panel .app-nav-link--button::after {
    display: none !important;
  }

  .site-header--new-navbartop .navbar-top-search {
    display: none !important;
  }

  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results {
    max-height: min(540px, calc(100dvh - 96px)) !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    grid-template-columns: 44px 220px minmax(300px, 1fr) auto !important;
    column-gap: 18px !important;
  }
}

/* New navbartop desktop: menu hamburguer como painel largo. */
@media (min-width: 992px) {
  .site-header--new-navbartop .app-menu-panel {
    position: fixed !important;
    top: 78px !important;
    right: 0 !important;
    left: 0 !important;
    display: none !important;
    width: 100vw !important;
    max-width: none !important;
    min-height: 190px !important;
    max-height: calc(100dvh - 78px) !important;
    margin: 0 !important;
    padding: 28px clamp(32px, 6vw, 96px) !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-top: 1px solid rgba(72, 36, 24, .08) !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, .98) !important;
    box-shadow: 0 22px 48px rgba(45, 22, 15, .14) !important;
  }

  .site-header--new-navbartop .app-menu-panel.show,
  .site-header--new-navbartop .app-menu-panel.collapsing {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-list {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
    gap: 12px !important;
    width: min(1080px, 100%) !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.app-menu-main-item {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    justify-content: center !important;
    min-height: 112px !important;
    padding: 18px 14px !important;
    border: 1px solid rgba(72, 36, 24, .08) !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--cor-texto-principal) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-align: center !important;
    box-shadow: 0 10px 24px rgba(45, 22, 15, .06) !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active {
    border-color: rgba(166, 83, 23, .32) !important;
    background: var(--cor-bg-muted) !important;
    color: var(--cor-acento) !important;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header--new-navbartop .app-menu-list {
    grid-template-columns: repeat(5, minmax(96px, 1fr)) !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    min-height: 96px !important;
    font-size: 14px !important;
  }
}

/* New navbartop: aviso superior e painel compacto do hamburguer. */
.site-header--new-navbartop .navbar-promo-strip {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 42px;
  align-items: center;
  width: 100%;
  min-height: 34px;
  padding: 0 clamp(12px, 4vw, 56px);
  background: #ebc79f;
  color: #8f1530;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  text-align: center;
}

.site-header--new-navbartop .navbar-promo-viewport {
  position: relative;
  min-height: 34px;
  overflow: hidden;
}

.site-header--new-navbartop .navbar-promo-message {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  margin: 0;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
}

.site-header--new-navbartop .navbar-promo-message.is-active {
  opacity: 1;
  transform: translateY(0);
}

.site-header--new-navbartop .navbar-promo-control {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #ad1d38;
  font-size: 28px;
  line-height: 1;
}

.site-header--new-navbartop .navbar-promo-control:hover,
.site-header--new-navbartop .navbar-promo-control:focus {
  background: rgba(173, 29, 56, .08);
}

@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    min-height: 78px !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 112px !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 112px !important;
    min-height: 50px !important;
    max-height: calc(100dvh - 112px) !important;
    padding: 0 clamp(32px, 5vw, 72px) !important;
    background: var(--cor-primaria) !important;
    box-shadow: 0 18px 38px rgba(45, 22, 15, .14) !important;
  }

  .site-header--new-navbartop .app-menu-list {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(28px, 5vw, 72px) !important;
    width: min(980px, 100%) !important;
    min-height: 50px !important;
    margin: 0 auto !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .nav-item.app-menu-main-item {
    display: block !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 50px !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
    white-space: nowrap !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active {
    background: transparent !important;
    color: #fff !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link::after {
    display: block !important;
    right: 0 !important;
    bottom: 6px !important;
    left: 0 !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: var(--cor-acento) !important;
  }
}

@media (max-width: 991.98px) {
  body:has(.site-header--new-navbartop) {
    padding-top: 150px !important;
  }

  .site-header--new-navbartop .app-menu-panel,
  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 150px !important;
    max-height: calc(100dvh - 150px) !important;
  }
}

@media (max-width: 575.98px) {
  body:has(.site-header--new-navbartop) {
    padding-top: 150px !important;
  }

  .site-header--new-navbartop .navbar-promo-strip {
    min-height: 34px;
    padding: 0 6px;
    font-size: 12px;
    letter-spacing: .02em;
  }

  .site-header--new-navbartop .navbar-promo-viewport {
    min-height: 34px;
  }
}

/* New navbartop: fixa o conjunto banner + navbar na ordem correta. */
.site-header--new-navbartop {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1100;
  width: 100%;
  background: #fff;
}

.site-header--new-navbartop .navbar-promo-strip {
  position: relative !important;
  top: auto !important;
  z-index: 2;
}

.site-header--new-navbartop .site-nav.navbar {
  position: relative !important;
  top: auto !important;
  z-index: 1;
}

@media (min-width: 992px) {
  .site-header--new-navbartop .site-nav.navbar {
    height: 78px !important;
    min-height: 78px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-inner-wrap {
    height: 78px !important;
    min-height: 78px !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 112px !important;
  }

  .site-header--new-navbartop .app-menu-panel {
    top: 112px !important;
    margin-top: 0 !important;
    min-height: 48px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
  }

  .site-header--new-navbartop .app-menu-list,
  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    min-height: 48px !important;
  }
}

@media (max-width: 991.98px) {
  .site-header--new-navbartop .site-nav.navbar {
    position: relative !important;
    top: auto !important;
  }

  body:has(.site-header--new-navbartop) {
    padding-top: 150px !important;
  }

  .site-header--new-navbartop .app-menu-panel,
  .site-header--new-navbartop .navbar-search-mobile--top .navbar-search-results-mobile.navbar-search-results--trending {
    top: 150px !important;
  }
}

/* New navbartop: busca desktop alinhada ao input e menu configuravel compacto. */
@media (min-width: 992px) {
  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results,
  .site-header--new-navbartop .navbar-search--top-desktop .navbar-search-results.navbar-search-results--trending {
    right: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 0 8px 8px !important;
  }

  .site-header--new-navbartop .app-menu-list {
    flex-wrap: wrap !important;
    gap: clamp(22px, 4vw, 56px) !important;
    width: min(1120px, 100%) !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    min-height: 48px !important;
    padding: 0 2px !important;
  }
}

/* Menu mobile: painel suave e acao de sessao separada dos links. */
@media (max-width: 991.98px) {
  .site-header--new-navbartop .app-menu-panel {
    border: 1px solid rgba(72, 36, 24, .08) !important;
    border-top: 0 !important;
    border-radius: 0 0 20px 20px !important;
    background: #fffdf9 !important;
    box-shadow: 0 18px 36px rgba(45, 22, 15, .14) !important;
    overscroll-behavior: contain;
  }

  .site-header--new-navbartop .app-menu-panel.show,
  .site-header--new-navbartop .app-menu-panel.collapsing {
    padding: 14px 18px 20px !important;
  }

  .site-header--new-navbartop .app-menu-list {
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 11px 14px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: var(--cor-texto-principal) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-align: left;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link::after {
    display: none !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:hover,
  .site-header--new-navbartop .app-menu-panel .app-nav-link.active {
    background: #f5eadc !important;
    color: #87451f !important;
  }

  .site-header--new-navbartop .app-menu-panel .app-nav-link:focus-visible {
    outline: 2px solid #87451f;
    outline-offset: -2px;
  }

  .site-header--new-navbartop .app-menu-session-item {
    margin-top: 8px;
    padding-top: 12px;
    border-top: 1px solid rgba(72, 36, 24, .12);
  }

  .site-header--new-navbartop .app-menu-session-item .app-nav-link {
    background: #f5eadc !important;
    color: #87451f !important;
    font-weight: 600 !important;
  }
}

.catalog-view-mode {
  padding: 24px 0 10px;
  background: transparent;
}

.catalog-view-mode .container {
  display: flex;
  justify-content: flex-end;
}

.catalog-grid--slides > [class*="col-"] {
  flex: 0 0 clamp(258px, 24vw, 296px) !important;
  width: clamp(258px, 24vw, 296px) !important;
  max-width: clamp(258px, 24vw, 296px) !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.catalog-slider-dots {
  display: none;
}

.catalog-slider-dots[hidden] {
  display: none !important;
}

@media (min-width: 992px) {
  .catalog-slider-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 24px;
    margin: 4px 0 0;
  }

  .catalog-slider-dots button {
    position: relative;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    cursor: pointer;
    transition: opacity .2s ease;
  }

  .catalog-slider-dots button::before {
    content: "";
    position: absolute;
    inset: 7.5px;
    border-radius: 999px;
    background: #767676;
    transition: inset .2s ease, background-color .2s ease;
  }

  .catalog-slider-dots button:hover {
    opacity: .82;
  }

  .catalog-slider-dots button.is-active {
    width: 46px;
  }

  .catalog-slider-dots button.is-active::before {
    inset: 7.5px 0;
    background: #9a6c36;
  }
}

.catalog-grid--slides .bcard {
  min-height: 100%;
  border: 1px solid rgba(72, 36, 24, .09);
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(40, 25, 18, .12);
  opacity: 1;
  overflow: hidden;
  transform: none;
  transition: box-shadow .2s ease, transform .2s ease;
}

.catalog-grid--slides .bcard:hover {
  box-shadow: 0 8px 20px rgba(40, 25, 18, .16);
  transform: translateY(-2px);
}

.catalog-grid--slides .bcard-img-wrap {
  min-height: 204px;
  padding: 14px 14px 0;
  background: #fff;
}

.catalog-grid--slides .bcard-img-link {
  height: 190px;
}

.catalog-grid--slides .bcard-img {
  width: 100%;
  height: 100%;
  max-width: 180px;
  max-height: 162px;
  object-fit: contain;
  padding: 0;
}

.catalog-grid--slides .bcard-off,
.catalog-grid--slides .bcard-preorder {
  top: 48px !important;
  left: 12px;
  right: auto;
  border-radius: 999px;
}

.catalog-grid--slides .bcard-body {
  min-height: 238px;
  padding: 14px 14px 16px;
  overflow: visible;
}

.catalog-grid--slides .bcard-nome {
  min-height: auto;
  margin: 0 0 8px;
  color: var(--cor-primaria-hover);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.26;
  letter-spacing: 0;
}

.catalog-grid--slides .bcard-desc {
  display: -webkit-box;
  min-height: 58px;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.catalog-grid--slides .bcard-preco-row {
  margin-top: auto;
  margin-bottom: 12px;
}

.catalog-grid--slides .bcard-preco-antigo {
  font-size: 12px;
}

.catalog-grid--slides .bcard-preco-atual {
  color: var(--cor-primaria);
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.5px;
}

.catalog-grid--slides .bcard-add {
  flex: 1;
  width: auto;
  min-width: 0;
  height: 36px;
  padding: 0 10px;
  border-radius: 8px;
  background: var(--cor-acento);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}

.catalog-grid--slides .bcard-add--esgotado {
  width: auto;
  min-width: 142px;
  font-size: 12px;
  background: #ddd;
  color: #aaa;
}

/* Na home, o selo forma a faixa superior do card, acima da foto. */
#cards-container .bcard-nova-producao {
  width: 100%;
  margin: 0;
  padding: 5px 10px;
  border-radius: 14px 14px 0 0;
  order: -1;
  position: relative;
  z-index: 1;
}

/* Na lista mobile o selo fica ancorado no topo do card, sem virar uma faixa
   flexível que empurra o conteúdo e cria um bloco vazio acima dele. */
@media (max-width: 991.98px) {
  #cards-container:not(.catalog-grid--slides) .bcard {
    position: relative;
  }

  #cards-container:not(.catalog-grid--slides) .bcard-nova-producao {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: auto;
    max-width: calc(100% - 24px);
    padding: 5px 10px;
    border-radius: 14px 0 10px 0;
    text-align: left;
  }
}

#cards-container.catalog-grid--slides .bcard-img-wrap {
  padding-top: 14px;
}

@media (max-width: 991.98px) {
  .catalog-grid--slides {
    gap: 12px !important;
    padding: 8px 16px 16px !important;
  }

  .catalog-grid--slides > [class*="col-"] {
    flex-basis: clamp(258px, 72vw, 286px) !important;
    width: clamp(258px, 72vw, 286px) !important;
    max-width: clamp(258px, 72vw, 286px) !important;
  }

  #cards-container.catalog-grid--slides .col-12,
  #cards-container.catalog-grid--slides [class*="col-"] {
    flex: 0 0 clamp(258px, 72vw, 286px) !important;
    width: clamp(258px, 72vw, 286px) !important;
    max-width: clamp(258px, 72vw, 286px) !important;
  }

  .catalog-grid--slides .bcard {
    flex-direction: column;
    border-radius: 14px;
  }

  .catalog-grid--slides .bcard-img-wrap {
    width: 100%;
    min-width: 0;
    min-height: 196px;
    padding: 14px 14px 0;
  }

  .catalog-grid--slides .bcard-img-link {
    width: 100%;
    height: 182px;
    min-width: 0;
  }

  .catalog-grid--slides .bcard-img,
  .catalog-grid--slides .bcard-img-fallback {
    width: 100%;
    min-width: 0;
    max-width: 206px;
    max-height: 182px;
  }

  .catalog-grid--slides .bcard-body {
    min-height: 232px;
    padding: 14px 14px 16px;
  }

  .catalog-grid--slides .bcard-nome {
    font-size: 16px;
  }

  .catalog-grid--slides .bcard-add {
    height: 36px;
    border-radius: 8px;
  }
}

.sec-bombons, #categoria-croissants {
  background-color: var(--cor-bg-cardapio) !important;
}


@media (max-width: 768px) {
  .sec-dep {
    overflow: hidden;
  }

  .dep-carousel-head {
    align-items: center;
    gap: 12px;
  }

  .dep-carousel-controls {
    flex-shrink: 0;
  }

  .dep-grid[data-reviews-carousel] {
    display: flex;
    width: 100vw;
    max-width: none;
    margin-inline: calc(50% - 50vw);
    gap: 14px;
    overflow-x: auto;
    overflow-y: visible;
    padding: 4px 20px 20px;
    scroll-padding-inline: 20px;
    scroll-snap-type: x mandatory;
  }

  .dep-grid[data-reviews-carousel] .dep-card {
    flex: 0 0 calc(100vw - 40px);
    width: calc(100vw - 40px);
    max-width: calc(100vw - 40px);
    min-width: calc(100vw - 40px);
    min-height: 286px;
    scroll-snap-align: start;
  }

  .dep-grid[data-reviews-carousel] .dep-card:hover {
    transform: none;
  }

  .dep-grid[data-reviews-carousel] .dep-author {
    grid-template-columns: 38px minmax(0, 1fr);
  }

  .dep-grid[data-reviews-carousel] .dep-badges {
    grid-column: 1 / -1;
    margin-left: 50px;
  }
}

@media (max-width: 390px) {
  .dep-carousel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .dep-grid[data-reviews-carousel] .dep-card {
    flex-basis: calc(100vw - 32px);
    width: calc(100vw - 32px);
    max-width: calc(100vw - 32px);
    min-width: calc(100vw - 32px);
  }
}

/* Fechar a busca mobile no proprio campo, sem rolar os resultados. */
.navbar-search-mobile .navbar-search-close {
  position: absolute;
  top: 50%;
  right: 4px;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--cor-texto-principal);
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.navbar-search-mobile .navbar-search-close[hidden] {
  display: none;
}

.navbar-search-mobile:has(.navbar-search-close:not([hidden])) > svg {
  visibility: hidden;
}

.navbar-search-mobile .navbar-search-close:focus-visible {
  outline: 2px solid var(--cor-borda-acento);
  outline-offset: -4px;
  border-radius: 8px;
}

/* Logo horizontal no cabecalho mobile. */
@media (max-width: 991.98px) {
  .site-header--new-navbartop .site-nav .navbar-brand {
    flex: 0 1 130px !important;
    width: 130px !important;
    min-width: 0 !important;
    margin-right: 8px !important;
  }

  .site-header--new-navbartop .site-nav .navbar-brand img {
    width: 100% !important;
    height: 42px !important;
    margin-right: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
}

/* Mantém a vitrine leve e com cards de altura uniforme. */
.catalog-grid--slides .bcard-desc {
  display: -webkit-box;
  min-height: 58px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Avaliacoes: leitura mais leve e com foco no conteudo. */
.sec-dep {
  padding-block: 56px;
}

.sec-dep .sec-title {
  margin-bottom: 22px;
}

.sec-dep .sec-title p {
  max-width: 360px;
  margin-inline: auto;
}

.sec-dep .dep-divider {
  display: none;
}

.dep-media {
  max-width: 500px;
  gap: 20px;
  margin-top: 0;
  padding: 8px 0 4px;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.dep-media-nota {
  min-width: 76px;
  padding-right: 20px;
  border-right: 1px solid rgba(72, 36, 24, .12);
  font-size: 44px;
}

.dep-media-texto { margin-bottom: 8px; }
.dep-barra-row { gap: 7px; font-size: 10px; }
.dep-barra-track { height: 4px; }

.dep-review-form {
  max-width: 600px;
  gap: 10px;
  margin-top: 28px;
  padding: 22px 0 0;
  background: transparent;
  border: 0;
  border-top: 1px solid rgba(72, 36, 24, .12);
  border-radius: 0;
}

.dep-review-form__head strong { font-size: 15px; }
.dep-review-form__head span { font-size: 11px; }

.dep-review-form__head button {
  min-height: 40px;
  padding-inline: 15px;
  border-radius: 999px;
}

.dep-review-form__stars label { font-size: 24px; }

.dep-review-form textarea,
.dep-review-form input[name="favorite_product"] {
  border-color: rgba(181, 101, 29, .24);
  border-radius: 8px;
}

.dep-review-form textarea { min-height: 82px; }

.dep-reviews-link {
  display: flex;
  width: fit-content;
  margin: 18px auto 0;
  align-items: center;
  gap: 7px;
  color: var(--cor-acento);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.dep-reviews-link:hover {
  color: var(--cor-primaria);
  text-decoration: underline;
}

.dep-carousel-head {
  margin-top: 36px;
  margin-bottom: 10px;
}

.dep-carousel-head span,
.dep-carousel-controls a { font-size: 11px; }
.dep-carousel-controls { gap: 6px; }

.dep-carousel-controls button {
  width: 30px;
  height: 30px;
  border-color: rgba(181, 101, 29, .25);
  font-size: 20px;
}

.dep-grid { gap: 16px; }

.dep-card {
  min-height: 220px;
  gap: 10px;
  padding: 18px;
  border-color: rgba(181, 101, 29, .16);
  border-radius: 12px;
  box-shadow: none;
}

.dep-card:hover {
  transform: none;
  box-shadow: none;
}

.dep-quote { display: none; }
.dep-review-text { min-height: 64px; }

.dep-author {
  min-height: 0;
  padding-top: 12px;
}

@media (max-width: 768px) {
  .sec-dep { padding: 38px 20px; }
  .sec-dep .sec-title { margin-bottom: 18px; }

  .dep-media {
    gap: 14px;
    padding: 2px 0;
  }

  .dep-media-nota {
    min-width: 64px;
    padding-right: 14px;
    font-size: 38px;
  }

  .dep-review-form {
    margin-top: 22px;
    padding-top: 18px;
  }

  .dep-review-form__head { gap: 12px; }
.dep-review-form__head button { width: 100%; }
  .dep-carousel-head { margin-top: 30px; }

  .dep-grid[data-reviews-carousel] {
    gap: 12px;
    padding-bottom: 12px;
  }

  .dep-grid[data-reviews-carousel] .dep-card {
    min-height: 208px;
    padding: 18px;
  }
}

/* Active menu item: a straight underline without a filled background. */
.site-nav .app-nav-link.active,
.site-header--new-navbartop .app-menu-panel .app-nav-link.active {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  position: relative;
}
.site-nav .app-nav-link.active::after,
.site-header--new-navbartop .app-menu-panel .app-nav-link.active::after {
  content: "";
  display: block !important;
  position: absolute;
  left: 14px !important;
  right: 14px !important;
  bottom: 0 !important;
  height: 2px !important;
  border-radius: 0 !important;
  /* background: var(--cor-acento) !important; */
  transform: scaleX(1) !important;
}

/* Mouse and keyboard navigation for product/flavor swipe rails. */
.horizontal-rail-nav { display: none; }
.horizontal-rail-nav[hidden] { display: none !important; }
@media (min-width: 992px) {
  .horizontal-rail-nav { display: flex; justify-content: flex-end; gap: 8px; margin: 0 0 12px; }
  .horizontal-rail-nav button {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; padding: 0; border: 1px solid rgba(72,36,24,.18);
    border-radius: 50%; background: #fffdfa; color: #482418;
    font: 400 30px/1 Arial, sans-serif; cursor: pointer;
  }
  .horizontal-rail-nav button:hover:not(:disabled) { background: #482418; color: #fffdfa; }
  .horizontal-rail-nav button:disabled { opacity: .3; cursor: default; }
  .horizontal-rail-nav button:focus-visible { outline: 2px solid #a65317; outline-offset: 3px; }
}

/* Home: reserva três linhas sem permitir que o flex exponha a linha seguinte. */
.storefront-home .catalog-grid .bcard-desc {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  line-height: 1.6;
  flex: 0 0 auto;
  min-height: 0;
  height: 4.8em;
  max-height: 4.8em;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (min-width: 992px) {
  .cookie-banner { width: min(860px, calc(100vw - 48px)); padding: 12px 16px; }
  .cookie-inner { gap: 16px; }
  .cookie-texto { gap: 4px; }
  .cookie-texto strong { font-size: 13px; font-weight: 650; }
  .cookie-texto p { font-size: 12px; line-height: 1.4; font-weight: 400; }
  .cookie-btn { min-height: 38px; padding-inline: 14px; font-size: 12px; font-weight: 600; }
}
