/* [PPS-POINTS] update 232: Prime Rewards. The /rewards page, the account Rewards page, the free-order page and the
   small points pieces on the cart, product, account and order pages. Black and white, the front page's condensed
   capitals and mono labels. Everything is scoped to .rw / .rw-* classes, so nothing else on the site changes. */
@font-face { font-family: "PV5 Condensed"; font-style: normal; font-weight: 600; font-display: swap; src: url("/static/fonts/barlow-condensed-600.woff2") format("woff2"); }
@font-face { font-family: "PV5 Condensed"; font-style: normal; font-weight: 700; font-display: swap; src: url("/static/fonts/barlow-condensed-700.woff2") format("woff2"); }

.rw, .rw-x {
  --rw-ink: #0A0A0B; --rw-ink2: #1A1A1D; --rw-paper: #FFFFFF; --rw-mist: #F4F4F5; --rw-line: #E4E4E7; --rw-line2: #D4D4D8;
  --rw-graph: #55565C; --rw-mute: #6B6C72; --rw-on2: #B9BAC0; --rw-on3: #8C8D93; --rw-sig: #0066D6; --rw-sig-ink: #4C9BFF;
  --rw-green: #15803D; --rw-red: #B42318;
  --rw-display: "PV5 Condensed", "Barlow Condensed", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --rw-mono: "JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;
  --rw-body: var(--font-body, "IBM Plex Sans", "Helvetica Neue", Arial, system-ui, sans-serif);
}
.rw { color: var(--rw-ink); background: var(--rw-paper); overflow-x: clip; font-family: var(--rw-body); }
.rw *, .rw *::before, .rw *::after, .rw-x *, .rw-x *::before, .rw-x *::after { box-sizing: border-box; }
.rw-wrap { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.rw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rw a:focus-visible, .rw button:focus-visible, .rw summary:focus-visible, .rw input:focus-visible, .rw select:focus-visible,
.rw-x a:focus-visible, .rw-x button:focus-visible, .rw-x input:focus-visible { outline: 3px solid var(--rw-sig); outline-offset: 3px; }
.rw-ink a:focus-visible, .rw-ink button:focus-visible, .rw-ink input:focus-visible { outline-color: var(--rw-sig-ink); }

/* bands */
.rw-ink { background: var(--rw-ink); color: #F5F5F6; padding: clamp(56px, 8vw, 112px) 0; }
.rw-paper { background: var(--rw-paper); color: var(--rw-ink); padding: clamp(56px, 8vw, 112px) 0; }
.rw-mist { background: var(--rw-mist); color: var(--rw-ink); padding: clamp(56px, 8vw, 112px) 0; }
.rw-preview { position: sticky; top: 0; z-index: 30; background: #FFE14D; color: #0A0A0B; font: 600 13px/1.4 var(--rw-mono);
  padding: 10px 16px; text-align: center; letter-spacing: .02em; }

/* type: own sizes (the site's black-and-white sheet sets every main h1/h2; two ids win over it) */
.rw-kicker { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em;
  text-transform: uppercase; color: var(--rw-graph); }
.rw-kicker::before { content: ""; width: 28px; height: 1px; background: currentColor; flex: none; }
.rw-kicker--ink { color: var(--rw-on2); }
.rw-kicker--dot::before { width: 8px; height: 8px; border-radius: 50%; background: var(--rw-sig-ink); box-shadow: 0 0 0 0 rgba(76,155,255,.6);
  animation: rw-pulse 2.4s ease-out infinite; }
@keyframes rw-pulse { 70% { box-shadow: 0 0 0 10px rgba(76,155,255,0); } 100% { box-shadow: 0 0 0 0 rgba(76,155,255,0); } }
#rw#rw .rw-h1, #rw#rw .rw-h2 { margin: 0; font-family: var(--rw-display) !important; font-weight: 700 !important; text-transform: uppercase;
  letter-spacing: -.005em; color: inherit; }
#rw#rw .rw-h1 { font-size: clamp(54px, 14vw, 116px) !important; line-height: .86 !important; }
#rw#rw .rw-h2 { font-size: clamp(38px, 9vw, 68px) !important; line-height: .9 !important; }
#rw#rw .rw-lead { margin: 22px 0 0 !important; max-width: 36ch; font-size: clamp(17px, 2.4vw, 19px); line-height: 1.55; color: var(--rw-on2); }
#rw#rw .rw-sub { margin: 16px 0 0 !important; max-width: 52ch; font-size: 17px; line-height: 1.55; color: var(--rw-graph); }
.rw-head { margin: 0 0 clamp(28px, 4vw, 48px); }

/* buttons (the front page's: round ends, 54px tall) */
.rw-acts { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.rw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 28px; border-radius: 999px;
  border: 1.5px solid transparent; font: 600 16px/1 var(--rw-body); letter-spacing: .01em; text-decoration: none !important; cursor: pointer;
  transition: background .2s, color .2s, border-color .2s; white-space: nowrap; }
.rw-btn span { transition: transform .2s; }
.rw-btn:hover span { transform: translateX(4px); }
.rw .rw-btn--paper, .rw-x .rw-btn--paper { background: #FFFFFF; color: var(--rw-ink) !important; }
.rw .rw-btn--paper:hover { background: #E9E9EC; }
.rw .rw-btn--line { border-color: rgba(255,255,255,.55); color: #FFFFFF !important; background: transparent; }
.rw .rw-btn--line:hover { background: #FFFFFF; border-color: #FFFFFF; color: var(--rw-ink) !important; }
.rw .rw-btn--ink, .rw-x .rw-btn--ink { background: var(--rw-ink); color: #FFFFFF !important; border-color: var(--rw-ink); }
.rw .rw-btn--ink:hover, .rw-x .rw-btn--ink:hover { background: #2A2B2E; }
.rw .rw-btn--ghost, .rw-x .rw-btn--ghost { border-color: var(--rw-ink); color: var(--rw-ink) !important; background: transparent; }
.rw .rw-btn--ghost:hover, .rw-x .rw-btn--ghost:hover { background: var(--rw-ink); color: #FFFFFF !important; }
.rw-link { display: inline-block; padding: 10px 0; line-height: 24px; color: inherit !important; font-weight: 600; white-space: nowrap; text-decoration: none !important; }
.rw-link b { font-weight: 600; padding-bottom: 3px; border-bottom: 2px solid currentColor; }

/* ---------------------------------------------------------------- hero */
.rw-hero { position: relative; overflow: hidden; padding: clamp(48px, 7vw, 104px) 0 clamp(56px, 8vw, 112px); }
.rw-hero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 78% 42%, rgba(255,255,255,.12), rgba(255,255,255,0) 46%);
  pointer-events: none; }
.rw-hero-in { position: relative; display: grid; gap: 44px; align-items: center; }
.rw-hero-card { display: flex; justify-content: center; perspective: 1200px; }

/* ---------------------------------------------------------------- the membership card */
.rw-card { position: relative; width: 100%; max-width: 420px; aspect-ratio: 1.586 / 1; padding: clamp(18px, 5vw, 26px) clamp(18px, 5vw, 26px) clamp(16px, 4.4vw, 22px);
  display: flex; flex-direction: column; color: #FFFFFF; background: linear-gradient(135deg, #222226 0%, #121214 46%, #0A0A0B 100%);
  border: 1px solid #2E2E33; box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 40px 80px -30px rgba(0,0,0,.85), 0 0 0 1px rgba(0,0,0,.4);
  overflow: hidden; transform-style: preserve-3d; transition: transform .35s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
.rw-card::before { content: ""; position: absolute; inset: -40% -60%; background: linear-gradient(115deg, rgba(255,255,255,0) 38%, rgba(255,255,255,.09) 48%,
  rgba(255,255,255,0) 58%); pointer-events: none; }
.rw-card-mark { position: absolute; right: -4%; bottom: -26%; font: 700 clamp(220px, 60vw, 300px)/1 var(--rw-display); color: #FFFFFF; opacity: .06;
  pointer-events: none; user-select: none; }
.rw-card-top { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  font: 500 11px/1.2 var(--rw-mono); letter-spacing: .2em; text-transform: uppercase; color: #D6D6DA; }
.rw-card-top span:last-child { color: var(--rw-on3); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 46%; }
.rw-card-mid { position: relative; margin-top: auto; display: flex; align-items: baseline; gap: 10px; }
.rw-card-bal { font: 700 clamp(64px, 19vw, 96px)/.82 var(--rw-display); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.rw-card-unit { font: 500 13px/1 var(--rw-mono); letter-spacing: .18em; color: var(--rw-on2); }
.rw-card-worth { position: relative; margin-top: 8px; font-size: 15px; color: var(--rw-on2); }
.rw-card-worth b { color: #FFFFFF; font-weight: 600; }
.rw-card-bot { position: relative; margin-top: clamp(12px, 3.6vw, 18px); }
.rw-track { height: 3px; background: rgba(255,255,255,.18); overflow: hidden; }
.rw-track i { display: block; height: 100%; background: #FFFFFF; }
.rw-card-st { display: flex; justify-content: space-between; gap: 10px; margin-top: 9px; font: 500 11px/1.3 var(--rw-mono); letter-spacing: .08em;
  text-transform: uppercase; color: var(--rw-on2); }
.rw-card-held { color: #FFFFFF; white-space: nowrap; }
.rw-card.is-sample .rw-card-bal { color: rgba(255,255,255,.92); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .rw-card[data-rw-tilt]:hover { box-shadow: 0 1px 0 rgba(255,255,255,.1) inset, 0 50px 90px -30px rgba(0,0,0,.9), 0 0 0 1px rgba(0,0,0,.4); }
}
.rw-card--sm { max-width: 360px; }
.rw-card--sm .rw-card-bal { font-size: clamp(56px, 16vw, 76px); }

/* ---------------------------------------------------------------- value */
.rw-vgrid { display: grid; gap: 16px; }
.rw-vcard { position: relative; display: flex; flex-direction: column; min-height: 0; padding: clamp(24px, 4vw, 36px); border: 1px solid var(--rw-line);
  background: #FFFFFF; overflow: hidden; }
.rw-vcard--ink { background: var(--rw-ink); color: #FFFFFF; border-color: var(--rw-ink); }
.rw-vlabel { font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--rw-graph); }
.rw-vcard--ink .rw-vlabel { color: var(--rw-on2); }
.rw-vbig { margin-top: auto; padding-top: 28px; font: 700 clamp(84px, 24vw, 152px)/.82 var(--rw-display); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.rw-vfor { margin-top: 12px; font-size: 20px; font-weight: 600; line-height: 1.3; }
.rw-vcard p { margin: 10px 0 0; max-width: 40ch; font-size: 16px; line-height: 1.55; color: var(--rw-graph); }
.rw-vcard--ink p { color: var(--rw-on2); }

/* ---------------------------------------------------------------- calculator */
.rw-calc-card { margin-top: clamp(28px, 4vw, 44px); max-width: 760px; padding: clamp(22px, 4vw, 40px); background: #FFFFFF; border: 1px solid var(--rw-line);
  box-shadow: 0 24px 48px -32px rgba(10,10,11,.35); }
.rw-calc-top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.rw-calc-lab { font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--rw-graph); }
.rw-calc-amt { font: 700 clamp(40px, 10vw, 60px)/1 var(--rw-display); font-variant-numeric: tabular-nums; }
.rw-range { position: relative; margin: 22px 0 6px; }
.rw-range input[type=range] { -webkit-appearance: none; appearance: none; width: 100%; height: 44px; margin: 0; background: transparent; cursor: pointer;
  touch-action: pan-y; }
.rw-range input[type=range]::-webkit-slider-runnable-track { height: 4px; background: linear-gradient(var(--rw-ink), var(--rw-ink)) 0 / var(--rw-fill, 18%) 100% no-repeat, var(--rw-line); }
.rw-range input[type=range]::-moz-range-track { height: 4px; background: var(--rw-line); }
.rw-range input[type=range]::-moz-range-progress { height: 4px; background: var(--rw-ink); }
.rw-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 30px; height: 30px; margin-top: -13px; background: var(--rw-ink);
  border: 3px solid #FFFFFF; box-shadow: 0 0 0 1.5px var(--rw-ink), 0 6px 14px rgba(10,10,11,.25); border-radius: 0; transition: transform .15s; }
.rw-range input[type=range]::-moz-range-thumb { width: 24px; height: 24px; background: var(--rw-ink); border: 3px solid #FFFFFF; border-radius: 0;
  box-shadow: 0 0 0 1.5px var(--rw-ink), 0 6px 14px rgba(10,10,11,.25); }
.rw-range input[type=range]:active::-webkit-slider-thumb { transform: scale(1.08); }
.rw-range input[type=range]:focus-visible { outline: 3px solid var(--rw-sig); outline-offset: 4px; }
.rw-ends { display: flex; justify-content: space-between; font: 500 12px/1 var(--rw-mono); color: var(--rw-mute); }
.rw-calc-out { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--rw-line); }
.rw-calc-pts { font: 700 clamp(72px, 20vw, 112px)/.85 var(--rw-display); letter-spacing: -.015em; font-variant-numeric: tabular-nums; }
.rw-calc-pl { font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; text-transform: uppercase; color: var(--rw-graph); }
.rw-calc-say { margin: 16px 0 0; font-size: 18px; line-height: 1.5; font-weight: 500; min-height: 3em; }
.rw-calc-note { margin: 8px 0 0; font-size: 14px; color: var(--rw-mute); }

/* ---------------------------------------------------------------- how it works */
.rw-steps { list-style: none; margin: clamp(28px, 4vw, 48px) 0 0; padding: 0; display: grid; gap: 0; }
.rw-step { position: relative; padding: 0 0 36px 44px; }
.rw-step::before { content: ""; position: absolute; left: 6px; top: 6px; bottom: 0; width: 2px; background: var(--rw-ink); }
.rw-step:last-child { padding-bottom: 0; }
.rw-step:last-child::before { display: none; }
.rw-step::after { content: ""; position: absolute; left: 0; top: 0; width: 14px; height: 14px; background: var(--rw-ink); }
.rw-step-n { display: block; font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; color: var(--rw-graph); }
.rw-step h3 { margin: 10px 0 8px; font: 700 clamp(30px, 7vw, 40px)/.95 var(--rw-display); text-transform: uppercase; }
.rw-step p { margin: 0; max-width: 38ch; font-size: 16px; line-height: 1.55; color: var(--rw-graph); }

/* ---------------------------------------------------------------- rules */
.rw-rules-grid { display: grid; gap: 16px; margin-top: clamp(28px, 4vw, 48px); }
.rw-rule { padding: clamp(22px, 3.4vw, 32px); border: 1px solid var(--rw-line); background: #FFFFFF; min-height: 0; display: flex; flex-direction: column; }
.rw-rule-n { font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; color: var(--rw-graph); }
.rw-rule h3 { margin: 0 0 10px; padding-top: 16px; font: 700 clamp(26px, 6vw, 32px)/.98 var(--rw-display); text-transform: uppercase; }
.rw-rule p { margin: 0; font-size: 16px; line-height: 1.55; color: var(--rw-graph); }

/* ---------------------------------------------------------------- FAQ + terms */
.rw-faq-list { margin-top: clamp(28px, 4vw, 48px); border-top: 1px solid var(--rw-line2); }
.rw-q { border-bottom: 1px solid var(--rw-line2); }
.rw-q summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; padding: 16px 0;
  cursor: pointer; font-size: clamp(17px, 2.4vw, 20px); font-weight: 600; line-height: 1.35; }
.rw-q summary::-webkit-details-marker { display: none; }
.rw-pm { position: relative; flex: none; width: 32px; height: 32px; border: 1px solid var(--rw-ink); }
.rw-pm::before, .rw-pm::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.5px; background: var(--rw-ink);
  transform: translate(-50%, -50%); transition: transform .2s; }
.rw-pm::after { transform: translate(-50%, -50%) rotate(90deg); }
.rw-q[open] .rw-pm { background: var(--rw-ink); }
.rw-q[open] .rw-pm::before, .rw-q[open] .rw-pm::after { background: #FFFFFF; }
.rw-q[open] .rw-pm::after { transform: translate(-50%, -50%) rotate(0deg); }
.rw-q p { margin: 0 0 22px; max-width: 66ch; font-size: 16px; line-height: 1.65; color: var(--rw-graph); }
.rw-terms { margin-top: 36px; border: 1px solid var(--rw-line2); background: #FFFFFF; }
.rw-terms summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 0 20px;
  cursor: pointer; font: 500 12px/1.2 var(--rw-mono); letter-spacing: .16em; text-transform: uppercase; }
.rw-terms summary::-webkit-details-marker { display: none; }
.rw-terms p { margin: 0; padding: 0 20px 22px; font-size: 14px; line-height: 1.7; color: var(--rw-graph); }

/* ---------------------------------------------------------------- closing band */
.rw-close { position: relative; overflow: hidden; }
.rw-close::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 18% 60%, rgba(255,255,255,.1), rgba(255,255,255,0) 44%); pointer-events: none; }
.rw-close .rw-wrap { position: relative; }
.rw-close .rw-h2 { max-width: 16ch; }

@media (min-width: 720px) {
  .rw-wrap { padding: 0 28px; }
  .rw-vgrid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .rw-rules-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .rw-rule { min-height: 220px; }
  .rw-rule h3 { padding-top: 28px; }
  .rw-vcard { min-height: 360px; }
}
@media (min-width: 980px) {
  .rw-wrap { padding: 0 40px; }
  .rw-hero-in { grid-template-columns: 1.08fr .92fr; gap: 56px; }
  .rw-hero-card { justify-content: flex-end; }
  .rw-hero-card .rw-card { max-width: 480px; padding: 30px 32px 26px; }
  .rw-hero-card .rw-card-bal { font-size: 108px; }
  .rw-steps { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .rw-step { padding: 44px 0 0; }
  .rw-step::before { left: 0; right: -28px; top: 6px; bottom: auto; width: auto; height: 2px; }
  .rw-step:last-child::before { display: block; right: 0; }
  .rw-step::after { top: 0; }
  .rw-calc-in { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: start; }
  .rw-calc-card { margin-top: 0; }
  .rw-rules-grid { grid-template-columns: repeat(4, 1fr); }
  .rw-rule { min-height: 260px; }
  .rw-rule h3 { padding-top: 36px; }
  .rw-faq-in { display: grid; grid-template-columns: .8fr 1.2fr; gap: 56px; align-items: start; }
  .rw-faq-list { margin-top: 0; }
  .rw-close-in { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
  .rw-close-in .rw-acts { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rw-kicker--dot::before { animation: none; }
  .rw-card, .rw-btn span, .rw-pm::before, .rw-pm::after { transition: none !important; }
}

/* ---------------------------------------------------------------- account: Rewards page */
.rw-acct { margin: 0 0 8px; }
.rw-acct-top { display: grid; gap: 28px; align-items: start; }
.rw-acct-how { padding: 22px; border: 1px solid var(--rw-line); background: #FFFFFF; }
#rw#rw .rw-acct-how h2 { margin: 0 0 10px; font: 700 26px/1 var(--rw-display) !important; text-transform: uppercase; letter-spacing: 0 !important; }
.rw-acct-how p { margin: 0 0 10px; font-size: 15px; line-height: 1.6; color: var(--rw-graph); }
.rw-acct-how p:last-child { margin-bottom: 0; }
.rw-acct-how a { color: var(--rw-ink); font-weight: 600; }
.rw-note { margin: 16px 0 0; padding: 14px 16px; border: 1px solid var(--rw-line); border-left: 3px solid var(--rw-ink); background: #FAFAFA; font-size: 14px; line-height: 1.55; }
.rw-note--warn { border-left-color: var(--rw-red); }
.rw-hold { display: flex; align-items: center; gap: 10px; margin: 10px 0 0; padding: 12px 14px; border: 1px dashed var(--rw-line2); font-size: 14px; }
.rw-hold::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #E3A008; flex: none; }
.rw-hist { margin-top: 48px; }
.rw-acct .rw-card, .rw-dash .rw-card { box-shadow: 0 1px 0 rgba(255,255,255,.08) inset, 0 10px 24px rgba(10,10,11,.16) !important; }
.rw-hist-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0 0 12px; }
#rw#rw .rw-hist-h h2 { margin: 0; font: 700 28px/1 var(--rw-display) !important; text-transform: uppercase; letter-spacing: 0 !important; }
.rw-hist-h span { font: 500 11px/1 var(--rw-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--rw-mute); }
.rw-tbl { width: 100%; border-collapse: collapse; font-size: 14px; }
.rw-tbl th { text-align: left; font: 500 11px/1.2 var(--rw-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--rw-mute); padding: 0 10px 10px 0;
  border-bottom: 1px solid var(--rw-ink); }
.rw-tbl td { padding: 14px 10px 14px 0; border-bottom: 1px solid var(--rw-line); vertical-align: top; line-height: 1.45; }
.rw-tbl .r { text-align: right; padding-right: 0; white-space: nowrap; font-variant-numeric: tabular-nums; }
.rw-tbl .d { white-space: nowrap; color: var(--rw-graph); }
.rw-plus { color: var(--rw-green); font-weight: 700; }
.rw-minus { color: var(--rw-ink); font-weight: 700; }
.rw-empty { padding: 36px 24px; border: 1px dashed var(--rw-line2); text-align: center; }
.rw-empty p { margin: 0 0 18px; font-size: 16px; color: var(--rw-graph); }
@media (max-width: 599px) {
  #rw#rw .rw-tbl, #rw#rw .rw-tbl tbody { display: block !important; width: 100% !important; }
  #rw#rw .rw-tbl thead { display: none !important; }
  #rw#rw .rw-tbl tr { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 14px 0 !important; margin: 0 !important;
    border: 0 !important; border-bottom: 1px solid var(--rw-line) !important; background: transparent !important; box-shadow: none !important; }
  #rw#rw .rw-tbl td { display: block !important; padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important;
    min-height: 0 !important; }
  #rw#rw .rw-tbl td::before { content: none !important; display: none !important; }
  #rw#rw .rw-tbl td.d { grid-column: 1; grid-row: 2; font-size: 12px; font-family: var(--rw-mono); color: var(--rw-mute); }
  #rw#rw .rw-tbl td.a { grid-column: 1; grid-row: 1; font-weight: 500; color: var(--rw-ink); }
  #rw#rw .rw-tbl td.p { grid-column: 2; grid-row: 1; text-align: right; }
  #rw#rw .rw-tbl td.b { grid-column: 2; grid-row: 2; font-size: 12px; color: var(--rw-mute); text-align: right; }
}
@media (min-width: 900px) { .rw-acct-top { grid-template-columns: minmax(0, 400px) 1fr; } }

/* ---------------------------------------------------------------- account dashboard card */
.rw-dash { display: grid; gap: 18px; align-items: center; margin: 0 0 28px; padding: 20px; border: 1px solid var(--rw-line); background: #FFFFFF; }
#rw-dash#rw-dash .rw-dash-copy h2 { margin: 0 0 6px; font: 700 26px/1 var(--rw-display) !important; text-transform: uppercase; letter-spacing: 0 !important; }
.rw-dash-copy p { margin: 0 0 4px; font-size: 15px; line-height: 1.55; color: var(--rw-graph); }
.rw-dash .rw-link { color: var(--rw-ink) !important; }
@media (min-width: 720px) { .rw-dash { grid-template-columns: 320px 1fr; gap: 26px; padding: 22px; } }

/* ---------------------------------------------------------------- product page line */
.rw-pdp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--rw-line);
  background: #FFFFFF; font-size: 14px; line-height: 1.4; color: var(--rw-ink); }
.rw-pdp-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; background: var(--rw-ink); color: #FFFFFF;
  font: 700 15px/1 var(--rw-display); }
.rw-pdp b { font-weight: 600; }
.rw-pdp-sep { color: var(--rw-line2); }
.rw-pdp a { margin-left: auto; color: var(--rw-ink) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; padding: 6px 0; }

/* ---------------------------------------------------------------- order confirmed page */
.rw-ok { margin: -16px 0 36px; padding: 22px 24px; background: var(--rw-ink); color: #FFFFFF; text-align: left; }
.rw-ok-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.rw-ok-row:last-child { border-bottom: 0; }
.rw-ok-row span { font: 500 12px/1.3 var(--rw-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--rw-on2); }
.rw-ok-row b { font-size: 16px; text-align: right; }
.rw-ok-k { margin: 0 0 6px; font: 500 11px/1.2 var(--rw-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--rw-on2); }
.rw-ok-p { margin: 0; font-size: 15px; color: var(--rw-on2); }

/* ---------------------------------------------------------------- free order (paid with points) */
.rw-co { max-width: 1120px; margin: 0 auto; padding: clamp(28px, 5vw, 56px) 16px clamp(56px, 8vw, 96px); }
.rw-co-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 26px; font-size: 14px; }
.rw-co-top a { color: var(--rw-ink) !important; font-weight: 600; text-decoration: none; padding: 10px 0; }
.rw-co-top span { font: 500 12px/1 var(--rw-mono); letter-spacing: .12em; color: var(--rw-graph); text-transform: uppercase; }
.rw-co-grid { display: grid; gap: 18px; margin-top: 28px; }
.rw-co-card { padding: clamp(18px, 3vw, 28px); border: 1px solid var(--rw-line); background: #FFFFFF; }
#rw#rw .rw-co-card h2 { margin: 0 0 16px; font: 700 26px/1 var(--rw-display) !important; text-transform: uppercase; letter-spacing: 0 !important; }
.rw-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rw-f { display: flex; flex-direction: column; gap: 6px; grid-column: span 2; font: 500 11px/1.2 var(--rw-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--rw-graph); }
.rw-f.half { grid-column: span 1; }
.rw-f input, .rw-f select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--rw-line2); border-radius: 0; background: #FFFFFF; color: var(--rw-ink);
  font: 400 16px/1.3 var(--rw-body); letter-spacing: 0; text-transform: none; }
.rw-f input:focus, .rw-f select:focus { border-color: var(--rw-ink); outline: none; box-shadow: 0 0 0 1px var(--rw-ink); }
.rw-ships { display: grid; gap: 10px; }
.rw-ship { position: relative; display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 14px 16px; border: 1px solid var(--rw-line2); cursor: pointer; background: #FFFFFF; }
.rw-ship:has(input:checked) { border-color: var(--rw-ink); box-shadow: 0 0 0 1px var(--rw-ink); }
.rw-ship input { width: 20px; height: 20px; margin: 0; accent-color: var(--rw-ink); flex: none; }
.rw-ship-t { flex: 1; min-width: 0; font-size: 15px; font-weight: 600; line-height: 1.3; }
.rw-ship-t em { display: block; font-style: normal; font-weight: 400; font-size: 13px; color: var(--rw-graph); margin-top: 2px; }
.rw-ship-t small { display: inline-block; margin-top: 6px; padding: 3px 8px; font: 600 10.5px/1.2 var(--rw-mono); letter-spacing: .1em; text-transform: uppercase;
  background: var(--rw-ink); color: #FFFFFF; }
.rw-ship.is-off { cursor: not-allowed; background: var(--rw-mist); color: var(--rw-mute); }
.rw-ship.is-off .rw-ship-t small { background: transparent; color: var(--rw-graph); border: 1px solid var(--rw-line2); }
.rw-ship b { font-size: 15px; white-space: nowrap; }
.rw-goods-link { display: inline-block; margin-top: 14px; padding: 8px 0; background: none; border: 0; font: 600 14px/1.4 var(--rw-body); color: var(--rw-ink);
  text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
.rw-sum-line { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; font-size: 15px; }
.rw-sum-line span:first-child { color: var(--rw-graph); }
.rw-sum-line em { font-style: normal; color: var(--rw-mute); }
.rw-sum-pts span:last-child { font-weight: 700; }
.rw-sum-rule { height: 1px; background: var(--rw-line); margin: 10px 0; }
.rw-sum-due { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 6px 0 2px; }
.rw-sum-due span { font: 500 12px/1 var(--rw-mono); letter-spacing: .14em; text-transform: uppercase; }
.rw-sum-due b { font: 700 54px/.9 var(--rw-display); }
.rw-sum-left { margin: 6px 0 18px; font-size: 14px; color: var(--rw-graph); }
.rw-go { width: 100%; min-height: 56px; border: 0; border-radius: 999px; background: var(--rw-ink); color: #FFFFFF; font: 600 17px/1 var(--rw-body); cursor: pointer; }
.rw-go:hover { background: #2A2B2E; }
.rw-go[disabled] { background: #A1A1AA; cursor: not-allowed; }
.rw-fine { margin: 12px 0 0; font-size: 13px; line-height: 1.55; color: var(--rw-graph); text-align: center; }
.rw-err { margin: 18px 0 0; padding: 14px 16px; border: 1px solid #F3C1BC; border-left: 3px solid var(--rw-red); background: #FFF5F4; color: #7A1A12; font-size: 15px; line-height: 1.5; }
.rw-done { max-width: 640px; margin: 10px auto 0; text-align: center; }
.rw-done-ic { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: #1F9D55; margin-bottom: 26px; }
.rw-done p { font-size: 17px; line-height: 1.6; color: var(--rw-graph); margin: 16px auto 0; max-width: 46ch; }
.rw-done .rw-acts { justify-content: center; }
.rw-items { margin: 0 0 6px; }
.rw-item { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14px; }
.rw-item span:first-child { min-width: 0; }
.rw-item em { font-style: normal; color: var(--rw-mute); white-space: nowrap; }
@media (min-width: 900px) {
  .rw-co { padding-left: 40px; padding-right: 40px; }
  .rw-co-grid { grid-template-columns: 1.25fr .9fr; gap: 24px; align-items: start; }
  .rw-co-side { position: sticky; top: 96px; }
}

/* ---------------------------------------------------------------- the cart: points card */
.rw-cart { margin: 6px 0 4px; padding: 14px 14px 12px; border: 1px solid #E4E4E7; border-radius: 14px; background: #FFFFFF; color: #0A0A0B;
  font-family: var(--rw-body); scroll-margin-top: 110px; }
.rw-cart-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.rw-cart-name { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.rw-cart-k { display: flex; align-items: center; gap: 8px; font: 600 11px/1.2 var(--rw-mono); letter-spacing: .14em; text-transform: uppercase; color: #0A0A0B; }
.rw-cart-k i { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; background: #0A0A0B; color: #FFFFFF;
  font: 700 12px/1 var(--rw-display); font-style: normal; letter-spacing: 0; }
.rw-cart-bal { font-size: 13px; color: #55565C; }
.rw-sw-form { margin: 0; flex: none; }
.rw-sw { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 2px 0 0; background: none; border: 0; cursor: pointer;
  font: 600 14px/1 var(--rw-body); color: #0A0A0B; }
.rw-sw-t { position: relative; width: 46px; height: 28px; border-radius: 999px; background: #D4D4D8; transition: background .2s; flex: none; }
.rw-sw-t::after { content: ""; position: absolute; left: 3px; top: 3px; width: 22px; height: 22px; border-radius: 50%; background: #FFFFFF;
  box-shadow: 0 1px 3px rgba(0,0,0,.3); transition: transform .2s; }
.rw-sw[aria-checked="true"] .rw-sw-t { background: #0A0A0B; }
.rw-sw[aria-checked="true"] .rw-sw-t::after { transform: translateX(18px); }
.rw-sw[disabled] { cursor: not-allowed; opacity: .55; }
.rw-cart-amt { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid #F0F0F2; }
.rw-cart-amt span { font-size: 14px; color: #3B3C40; }
.rw-cart-amt b { font-size: 17px; font-weight: 800; color: #15803D; font-variant-numeric: tabular-nums; }
.rw-cart-line { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: #3B3C40; }
.rw-cart-line strong { color: #0A0A0B; }
.rw-cart-sub { margin: 4px 0 0; font-size: 12.5px; line-height: 1.5; color: #6B6C72; }
.rw-cart.is-locked .rw-cart-line { color: #7A1A12; }
.rw-cart-err { margin: 10px 0 0; padding: 8px 10px; border: 1px solid #E6B8B3; background: #FCF3F2; color: #7A1A12; font-size: 13px; line-height: 1.45; border-radius: 0; }
.rw-cart a { color: #0A0A0B !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rw-earn { margin: 6px 0 0; display: flex; align-items: center; gap: 8px; font-size: 13px; color: #3B3C40; }
.rw-earn::before { content: "+"; display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%;
  background: #E8F5EC; color: #15803D; font-weight: 800; font-size: 13px; line-height: 1; flex: none; }
.rw-was-total { display: none !important; }

/* ---------------------------------------------------------------- Admin -> Prime Rewards (with the a3 library) */
.rwa .rwa-form { display: flex; flex-direction: column; gap: 18px; }
.rwa .rwa-name { max-width: 360px; margin: 0; }
.rwa .rwa-sent { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--a3-line2, #EEF0F3); }
.rwa .rwa-lab { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--a3-mute, #64748B); }
.rwa .rwa-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: 15px; color: var(--a3-ink, #0F172A); }
.rwa .rwa-num { width: 104px; min-height: 44px; text-align: center; font-size: 17px; font-weight: 700; font-variant-numeric: tabular-nums; }
.rwa .rwa-cur { position: relative; display: inline-flex; align-items: center; }
.rwa .rwa-cur i { position: absolute; left: 12px; font-style: normal; font-weight: 700; color: var(--a3-mute, #64748B); pointer-events: none; }
.rwa .rwa-money { padding-left: 24px; width: 118px; }
.rwa .rwa-sent small { font-size: 12.5px; color: var(--a3-mute, #64748B); line-height: 1.45; }
.rwa .rwa-prev { padding: 14px 16px; border-radius: 12px; background: #0A0A0B; color: #E4E4E7; font-size: 14.5px; line-height: 1.55; }
.rwa .rwa-prev p { margin: 0; }
.rwa .rwa-prev b { color: #FFFFFF; }
.rwa .rwa-prev .a3-msg { margin: 10px 0 0; }
.rwa .rwa-sws { display: grid; gap: 4px; padding-top: 8px; border-top: 1px solid var(--a3-line2, #EEF0F3); }
.rwa .rwa-sw { display: flex; align-items: flex-start; gap: 12px; min-height: 44px; padding: 10px 0; cursor: pointer; }
.rwa .rwa-sw input { margin-top: 1px; }
.rwa .rwa-sw b { display: block; font-size: 14.5px; font-weight: 600; color: var(--a3-ink, #0F172A); line-height: 1.35; }
.rwa .rwa-sw small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--a3-mute, #64748B); line-height: 1.45; }
.rwa .rwa-save { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding-top: 16px; border-top: 1px solid var(--a3-line2, #EEF0F3); }
.rwa .rwa-save span { font-size: 12.5px; color: var(--a3-mute, #64748B); }
.rwa .rwa-save .a3-btn { min-height: 44px; padding: 0 22px; }
.rwa .rwa-search { display: flex; gap: 8px; flex-wrap: wrap; }
.rwa .rwa-search .a3-in { flex: 1 1 220px; min-height: 44px; }
.rwa .rwa-who { display: flex; flex-direction: column; text-decoration: none; min-width: 0; }
.rwa .rwa-who small, .rwa .rwa-sm { display: block; font-size: 12px; color: var(--a3-mute, #64748B); font-weight: 400; }
.rwa .rwa-pos { color: #15803D; }
.rwa .rwa-neg { color: #B91C1C; }
.rwa .rwa-note { font-size: 12.5px; color: var(--a3-mute, #64748B); max-width: 280px; }
.rwa .rwa-chips { display: flex; gap: 8px; flex-wrap: wrap; padding-bottom: 6px; }
.rwa .rwa-chips .a3-chip { min-height: 40px; }
.rwa .a3-chip.rwa-on { background: #0A0A0B; border-color: #0A0A0B; color: #FFFFFF; }
.rwa .rwa-past { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; }
.rwa .rwa-past .a3-f { margin: 0; flex: 1 1 160px; }
.rwa .rwa-past .a3-btn { min-height: 44px; }
.rwa .rwa-give { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid var(--a3-line2, #EEF0F3); }
.rwa .rwa-pad { margin: 0 16px 16px; }
.rwa .rwa-tools p { margin: 0 0 12px; color: var(--a3-ink2, #334155); }
.rwa .rwa-row { display: flex; gap: 8px; flex-wrap: wrap; }
.rwa .rwa-row form { margin: 0; }
.rwa .rwa-small { margin: 12px 0 0; font-size: 12.5px; color: var(--a3-mute, #64748B); line-height: 1.5; }
.rwa .rwa-look { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: 13.5px; line-height: 1.5; }
.rwa .rwa-look li { padding: 10px 12px; border-radius: 10px; background: #FFF7ED; color: #7C2D12; }
.rwa .rwa-look a { color: inherit; }
.rwa .rwa-band { position: relative; overflow: hidden; padding: 22px 20px 20px; background: #0A0A0B; color: #FFFFFF; border-radius: 12px; }
.rwa .rwa-band::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 85% 40%, rgba(255,255,255,.14), rgba(255,255,255,0) 50%); }
.rwa .rwa-band > * { position: relative; }
.rwa .rwa-band-k { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font: 600 11px/1.2 ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: .14em; text-transform: uppercase; color: #B9BAC0; }
.rwa .rwa-band-k span { width: 7px; height: 7px; border-radius: 50%; background: #4C9BFF; }
.rwa .rwa-band-t { margin: 0; font: 700 32px/.95 "PV5 Condensed", "Barlow Condensed", "Arial Narrow", Arial, sans-serif; text-transform: uppercase; }
.rwa .rwa-band-n { margin: 10px 0 14px; font-size: 13.5px; line-height: 1.5; color: #B9BAC0; }
.rwa .rwa-band-b { display: inline-flex; align-items: center; min-height: 38px; padding: 0 18px; border-radius: 999px; background: #FFFFFF; color: #0A0A0B; font-weight: 600; font-size: 14px; }
.rwa .rwa-sees { margin-top: 16px; }
.rwa .rwa-adj { display: flex; flex-direction: column; }
.rwa .rwa-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 0 0 14px; }
.rwa .rwa-seg label { position: relative; }
.rwa .rwa-seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.rwa .rwa-seg span { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 6px; border: 1px solid var(--a3-line, #E2E8F0); border-radius: 10px;
  font-size: 13px; font-weight: 600; text-align: center; line-height: 1.2; background: #FFFFFF; }
.rwa .rwa-seg input:checked + span { background: #0A0A0B; border-color: #0A0A0B; color: #FFFFFF; }
.rwa .rwa-seg input:focus-visible + span { box-shadow: var(--a3-ring, 0 0 0 3px rgba(37,99,235,.35)); }
.rwa [data-rw-confirm].is-armed { background: #B91C1C !important; border-color: #B91C1C !important; color: #FFFFFF !important; }
@media (max-width: 640px) {
  .rwa .rwa-num { width: 88px; }
  .rwa .rwa-money { width: 104px; }
  .rwa .rwa-line { font-size: 14.5px; }
  .rwa .a3-t :is(th, td):first-child { padding-left: 14px; }
  .rwa .a3-t :is(th, td):last-child { padding-right: 14px; }
}
/* spacing the site's own "main p" rules would otherwise remove */
#rw#rw .rw-sum-left { margin: 6px 0 18px !important; }
#rw#rw .rw-fine { margin: 12px 0 0 !important; }
#rw#rw .rw-co-main { display: grid; gap: 16px; align-content: start; }
.rwa-wide { margin-top: 16px; }
