/* The homepage's top banner: the new pattern editor + Lifetime (Block2026LifetimeEditorBanner, 2026-11-08).
   In the normal flow right under the header's 76 px spacer (the 2025 strip it replaces was absolutely positioned, so
   the pages reserved 100–200 px for it; those reservations shrink while this banner is on the page). */
.home-ltd-banner { margin: 16px auto 0; max-width: 1200px; padding: 0 16px; box-sizing: border-box; position: relative; z-index: 4; }
.home-ltd-banner + .page-index .main { margin-top: 32px; }
.page-content .page-content-inner:has(.home-ltd-banner) { margin-top: 16px; }
.page-content .page-content-inner .home-ltd-banner { margin-bottom: 24px; padding: 0; }
.home-ltd-banner__inner {
  display: flex; align-items: center; gap: 18px; padding: 16px 20px; border-radius: 14px;
  background: linear-gradient(100deg, #4b2a45 0%, #6a3a62 60%, #8a4a7c 100%); color: #fff;
  box-shadow: 0 8px 24px rgba(75, 42, 69, .18);
}
.home-ltd-banner__badge {
  flex: none; padding: 4px 10px; border-radius: 999px; background: #f6d9ea; color: #4b2a45;
  font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.home-ltd-banner__copy { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.home-ltd-banner__title { font-size: 17px; line-height: 1.3; }
.home-ltd-banner__text { font-size: 14px; line-height: 1.45; opacity: .92; }
.home-ltd-banner__actions { flex: none; display: flex; gap: 10px; flex-wrap: wrap; }
.home-ltd-banner__cta {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 16px; border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .7); color: #fff; font-weight: 600; font-size: 14px; text-decoration: none;
  white-space: nowrap;
}
/* the site's global link colours must not win over the banner's buttons */
.home-ltd-banner a.home-ltd-banner__cta, .home-ltd-banner a.home-ltd-banner__cta:visited { color: #fff; }
.home-ltd-banner a.home-ltd-banner__cta--primary, .home-ltd-banner a.home-ltd-banner__cta--primary:visited { background: #fff; color: #4b2a45; border-color: #fff; }
.home-ltd-banner__cta:hover { filter: brightness(1.06); text-decoration: none; }
.home-ltd-banner__cta:focus-visible { outline: 3px solid #f6d9ea; outline-offset: 2px; }
@media (max-width: 800px) {
  /* phones: the header (≈ 75 px) is taller than its spacer and the currency switcher hangs below it (to ≈ 125 px) */
  .home-ltd-banner { margin-top: 72px; margin-bottom: 20px; }
  .page-content .page-content-inner:has(.home-ltd-banner) { margin-top: 0; }
  .home-ltd-banner__inner { flex-direction: column; align-items: flex-start; gap: 10px; padding: 14px 16px; }
  .home-ltd-banner__actions { width: 100%; }
  .home-ltd-banner__cta { flex: 1; justify-content: center; }
}
