/* Componente isolado: nenhum seletor altera cabeçalho, catálogo ou checkout. */
.promo-bar {
  --promo-gold: #f3e2b2;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 11px 20px;
  color: #fffdf7;
  background: linear-gradient(110deg, #142f24, #234b36 50%, #142f24);
  border-bottom: 1px solid #d6bb7859;
  text-align: center;
  font-family: var(--font, system-ui, sans-serif);
  line-height: 1.25;
  -webkit-font-smoothing: antialiased;
}
.promo-bar[hidden], .promo-bar [hidden] { display: none !important; }
.promo-bar::before {
  content: '';
  position: absolute;
  inset: 0 12% auto;
  height: 1px;
  background: linear-gradient(90deg, transparent, #f3e2b24d, transparent);
  pointer-events: none;
}
.promo-bar__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  max-width: 1240px;
  min-height: 34px;
  margin-inline: auto;
  animation: bella-promo-enter .5s ease-out both;
}
.promo-bar__intro { display: inline-flex; align-items: center; gap: 10px; }
.promo-bar__clock { width: 22px; height: 22px; flex: none; color: #f8e9be; }
.promo-bar__eyebrow { color: #fffdf5; font-size: 12px; font-weight: 700; letter-spacing: .07em; white-space: nowrap; }
.promo-bar__rule { width: 1px; height: 20px; flex: none; background: linear-gradient(transparent, #e3ce9270, transparent); }
.promo-bar .promo-bar__saving {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  min-height: 36px;
  padding: 5px 16px;
  border: 1px solid #f8e9c3;
  border-radius: 6px;
  background: linear-gradient(110deg, #f3d891, #fff0c6, #f3d891);
  background-size: 200% 100%;
  box-shadow: 0 2px 5px #0000001a;
  color: #173723;
  font-size: 26px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.025em;
  white-space: nowrap;
  animation: bella-promo-shine 1.4s .7s ease-out both;
}
.promo-bar__saving::after {
  content: none;
}
.promo-bar__deadline { display: inline-flex; align-items: baseline; justify-content: center; gap: 9px; font-size: 13px; letter-spacing: .025em; white-space: nowrap; }
.promo-bar__label { font-weight: 700; color: #ffe7a8; }
.promo-bar__date { color: #ffffff; font-weight: 500; font-variant-numeric: tabular-nums; letter-spacing: .025em; }
.promo-bar__dot { color: #d5c296; }
@keyframes bella-promo-enter { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@keyframes bella-promo-shine { from { background-position: 100% 50%; } to { background-position: 0 50%; } }
@media (max-width: 760px) {
  .promo-bar { padding: 9px 12px; }
  .promo-bar__inner { gap: 12px; flex-wrap: wrap; }
  .promo-bar__eyebrow { font-size: 12px; letter-spacing: .04em; }
  .promo-bar__intro { gap: 8px; }
  .promo-bar__clock { width: 20px; height: 20px; }
  .promo-bar .promo-bar__saving { font-size: 24px; min-height: 34px; padding: 5px 12px; }
  .promo-bar--dated .promo-bar__inner { display: grid; grid-template-columns: auto 1px auto; grid-template-rows: 34px 17px; min-height: 57px; column-gap: 14px; row-gap: 6px; width: max-content; max-width: 100%; }
  .promo-bar--dated .promo-bar__deadline { grid-column: 1 / -1; font-size: 12px; line-height: 17px; gap: 8px; }
  .promo-bar [data-promo-separator] { display: none; }
}
@media (max-width: 359px) {
  .promo-bar__eyebrow { font-size: 11px; letter-spacing: .025em; }
  .promo-bar--dated .promo-bar__inner { column-gap: 10px; }
  .promo-bar__intro { gap: 6px; }
  .promo-bar .promo-bar__saving { font-size: 23px; padding-inline: 10px; }
}
@media (max-width: 279px) {
  .promo-bar__intro { gap: 5px; }
  .promo-bar__eyebrow { font-size: 10px; letter-spacing: 0; }
  .promo-bar__clock { width: 16px; height: 16px; }
  .promo-bar--dated .promo-bar__inner { column-gap: 7px; }
  .promo-bar .promo-bar__saving { font-size: 21px; padding-inline: 8px; }
  .promo-bar--dated .promo-bar__deadline { font-size: 11px; gap: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .promo-bar__inner, .promo-bar__clock, .promo-bar .promo-bar__saving { animation: none; }
  .promo-bar__saving::after { display: none; }
}
