/* Common sticky campaign announcement used by current and future seasonal themes.
   Loaded only if the server resolves an active or previewed campaign. */
.seasonal-promo-bar {
  position: sticky;
  top: 0;
  z-index: 110000;
  box-sizing: border-box;
  width: 100%;
  padding: 11px 20px;
  font-size: 15px;
  text-align: center;
  transition: padding .18s ease, font-size .18s ease;
}
.seasonal-promo-bar code {
  padding: 3px 10px;
  font-size: 15px;
}
.seasonal-promo-compact-label,
.seasonal-preview-short {
  display: none;
}
.seasonal-promo-bar.is-compact {
  padding: 4px 10px;
  font-size: 12px;
  line-height: 1.3;
  box-shadow: 0 3px 12px rgba(0, 0, 0, .22);
}
.seasonal-promo-bar.is-compact .seasonal-promo-full-label,
.seasonal-promo-bar.is-compact .seasonal-promo-details,
.seasonal-promo-bar.is-compact .seasonal-preview-full {
  display: none;
}
.seasonal-promo-bar.is-compact .seasonal-promo-compact-label,
.seasonal-promo-bar.is-compact .seasonal-preview-short {
  display: inline;
}
.seasonal-promo-bar.is-compact code {
  font-size: 12px;
  padding: 1px 6px;
}
.seasonal-promo-bar.is-compact .seasonal-preview-badge {
  margin-left: 6px;
  padding: 1px 5px;
  font-size: 9px;
}
@media (max-width: 767px) {
  .seasonal-promo-bar {
    padding: 8px;
    font-size: 13px;
    line-height: 1.7;
  }
  .seasonal-promo-bar.is-compact {
    padding: 4px 6px;
    font-size: 11px;
    line-height: 1.3;
  }
  .seasonal-promo-bar.is-compact code {
    font-size: 11px;
    padding: 1px 4px;
  }
  .seasonal-promo-bar.is-compact .seasonal-promo-code-label,
  .seasonal-promo-bar.is-compact .seasonal-promo-discount-word {
    display: none;
  }
  .seasonal-promo-bar.is-compact .seasonal-preview-badge {
    margin-left: 3px;
    padding: 1px 3px;
    font-size: 9px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .seasonal-promo-bar {
    transition: none;
  }
}
