.offer-journey { background: var(--wash-2); color: var(--ink-70); border: var(--keyline-w-sm) solid var(--keyline); border-radius: var(--r-sm); padding: .85rem 1rem; margin: 1rem 0; font-size: .88rem; line-height: 1.5; }
.offer-journey[hidden] { display: none !important; }
.offer-journey strong { display: block; color: var(--ink-deep); }
.offer-journey p { color: var(--ink-70); margin: .35rem 0 .7rem; }
.offer-journey-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.offer-journey-actions a, .offer-journey-actions button { background: var(--surface); color: var(--ink-deep); border: 1px solid var(--keyline); border-radius: var(--r-sm); font: inherit; font-size: .82rem; line-height: 1.4; text-decoration: none; padding: .55rem .65rem; cursor: pointer; }
.offer-journey-actions :is(a, button):hover { background: var(--wash); box-shadow: var(--chip-sm) var(--keyline); }
.offer-journey-actions :is(a, button):focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.offer-journey-context { max-width: 1080px; margin: 1rem auto 1.5rem; text-align: left; }
.offer-journey-context strong { overflow-wrap: anywhere; }

.offer-journey-actions .journey-primary { background: var(--ink); color: var(--surface); border-color: var(--ink); font-weight: 600; }
.offer-journey-actions .journey-primary:hover { background: var(--ink-strong); }
.offer-journey-more { border-top: 1px solid var(--rule); margin-top: .85rem; padding-top: .65rem; }
.offer-journey-more summary { color: var(--ink-70); cursor: pointer; font-size: .8rem; }
.offer-journey-more summary:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.offer-journey-label { display: block; font-size: .65rem; font-weight: 600; text-transform: uppercase; letter-spacing: .09em; color: var(--ink-60); margin-bottom: .35rem; }
.offer-journey-context { border: 1px solid var(--rule); border-left: 3px solid var(--info); background: var(--info-05); }
.offer-journey[data-journey-stage="after"] { border-color: var(--positive-20); background: var(--positive-05); }
@media (max-width: 680px) {
  .offer-journey-context { width: 100%; min-width: 0; }
  .offer-journey-actions .journey-primary { text-align: center; }
}
