.efo-sale-banner[hidden] { display: none; }
.efo-sale-banner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 24px;
  margin-top: 16px;
  padding: clamp(16px, 2.5vw, 32px);
  background: #efc477;
  color: #17211f;
}
.efo-sale-banner p { margin: 0; }
.efo-sale-banner .efo-sale-label {
  margin-bottom: 4px;
  font: 700 14px/1.3 Arial, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.efo-sale-headline { font: 700 clamp(28px, 4vw, 48px)/1.08 Georgia, serif; }
.efo-sale-banner .efo-sale-details { margin-top: 8px; font: 16px/1.5 Arial, sans-serif; }
.efo-sale-details b { padding: 1px 4px; border: 1px solid currentColor; white-space: nowrap; }
.efo-sale-banner a.efo-sale-action {
  padding: 13px 19px;
  background: #17211f;
  color: #fff;
  font: 700 15px/1.4 Arial, sans-serif;
  text-decoration: none;
}
.efo-sale-banner a.efo-sale-action:hover { text-decoration: underline; }
.efo-sale-banner a.efo-sale-action:focus-visible { outline: 3px solid #17211f; outline-offset: 3px; }
.efo-sale-actions { display: grid; justify-items: start; gap: 10px; }
.efo-sale-banner a.efo-sale-bundle { font: 700 14px/1.4 Arial, sans-serif; color: inherit; text-decoration: underline; }
.efo-sale-banner a.efo-sale-bundle:focus-visible { outline: 3px solid #17211f; outline-offset: 3px; }
