/* Offers use full-width bands, with the existing member shell on private pages. */
.offers-public { margin: 0; background: #f7f4ed; color: #183f35; font: 17px/1.65 system-ui, sans-serif; }
.offers-public *, .offers * { box-sizing: border-box; }
.offers-public a, .offers a { color: inherit; text-underline-offset: .2em; }
.offers-public .skip { position: absolute; top: -100px; left: 12px; background: #fff; padding: 8px; z-index: 10; }
.offers-public .skip:focus { top: 8px; }
.offer-header, .offer-footer, .offers-public .offers { width: min(1120px, calc(100% - 48px)); margin: auto; }
.offer-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0; border-bottom: 1px solid #bac6be; }
.offer-brand { display: inline-flex; gap: 12px; align-items: center; font-weight: 700; text-decoration: none; }
.offer-header nav, .offer-tools { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.offers { min-width: 0; overflow-wrap: anywhere; }
.offers, .offers h1, .offers h2, .offers h3, .offers h4 { letter-spacing: 0; }
.offers h1 { font: 400 32px/1.15 Georgia, serif; max-width: 24ch; margin: 0 0 20px; }
.offers h2 { font: 400 24px/1.25 Georgia, serif; }
.offer-band { padding: 32px 0; border-bottom: 1px solid #bac6be; }
.offer-band > p, .offer-prose { max-width: 76ch; white-space: pre-wrap; }
.offer-lead { font-size: 1.2em; }
.offer-meta { font-size: .85em; letter-spacing: 0; }
.offer-badge { display: inline-block; padding: 2px 8px; border: 1px solid #687e70; border-radius: 8px; font-size: .85em; }
.offer-disclosure { padding: 20px 0; font-size: .9em; max-width: 80ch; }
.offer-tools { padding: 20px 0; }
.offer-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.offers .offer-button { display: inline-block; border: 1px solid #183f35; border-radius: 8px; background: #183f35; color: #fff; font: inherit; padding: 10px 16px; cursor: pointer; text-decoration: none; max-width: 100%; white-space: normal; }
.offer-button:disabled { opacity: .55; cursor: not-allowed; }
.offer-host { display: block; font-size: .85em; margin: 8px 0; overflow-wrap: anywhere; }
.offer-form { display: grid; gap: 12px; width: 100%; max-width: 76ch; }
.offer-form input:not([type=checkbox]), .offer-form textarea, .offer-form select { width: 100%; min-width: 0; border: 1px solid #687e70; border-radius: 6px; padding: 10px; font: inherit; background: #fffdf8; color: #183f35; }
.offer-form textarea { resize: vertical; }
.offer-form label { margin-top: 12px; font-weight: 600; }
.offer-form label span { font-size: .85em; font-weight: 400; }
.offer-form .offer-check { display: flex; gap: 12px; align-items: baseline; font-weight: 400; }
.offer-check input { flex: 0 0 auto; }
.offer-warning, .offer-error { border-left: 3px solid #89541e; padding: 12px 16px; background: #f3e8d6; color: #493316; }
.offer-error { border-color: #a22e2e; }
.offers details { padding: 16px 0; border-top: 1px solid #bac6be; }
.offers summary { cursor: pointer; font-weight: 600; }
.offers-public :focus-visible, .offers :focus-visible { outline: 3px solid #a25a18; outline-offset: 4px; }
.offer-footer { padding: 32px 0; font-size: .9em; }
@media (max-width: 480px) {
  .offers h1 { font-size: 28px; }
  .offer-header, .offer-footer, .offers-public .offers { width: calc(100% - 32px); }
  .offer-header nav { gap: 8px 16px; }
  .offer-band { padding: 24px 0; }
  .offer-actions { align-items: stretch; flex-direction: column; }
  .offer-actions form, .offer-actions .offer-button { width: 100%; }
}
