/* Sitewide offer ribbon (OfferRibbon view component). Rendered only while an offer flagged
   ShowOnHome is active AND a landing page carries its code. In normal flow above the header. */
.offer-ribbon { position: relative; z-index: 1001; display: flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--theme-accent-color, #c9a14a); color: #111; font-size: 14px; line-height: 1.4; padding: 8px 44px; text-align: center; }
.offer-ribbon[hidden] { display: none; }
.offer-ribbon-link { color: inherit; text-decoration: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 10px; }
.offer-ribbon-link:hover, .offer-ribbon-link:focus { color: inherit; text-decoration: none; }
.offer-ribbon-cta { text-decoration: underline; font-weight: 700; }
.offer-ribbon-close { position: absolute; inset-inline-end: 8px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px;
  border: 0; background: transparent; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; }
.offer-badge { display: inline-block; margin-bottom: 14px; padding: 6px 16px; border-radius: 999px; background: var(--theme-accent-color, #c9a14a);
  color: #111; font-weight: 700; font-size: 14px; text-decoration: none; }
