/* Peptico My Account, tier 6 — the account as a bench. Prefix pp7-.
   Same palette, radii, shadow and type as the homepage (pp3); the glass strip and mono
   numerals from the COA vault (pp5). WooCommerce's own endpoint markup is restyled inside
   .pp7-endpoint, never rewritten. */

.pp7 {
  --ink: #111111; --ink-2: #2b2b2b; --muted: #5f5f58; --faint: #8a8a83;
  --paper: #f7f6f2; --white: #ffffff; --line: rgba(17, 17, 17, 0.08); --line-strong: rgba(17, 17, 17, 0.16);
  --green: #004f42; --ok: #2f8f5b; --red: #b4443c; --amber: #b8862b;
  --sage: #dfe7d9; --mint: #e6f0ed; --rose: #f0dfdb; --tan: #eee6d8; --lavender: #e3e4f4; --olive: #e7ebc9;
  --sage-deep: #c9d6c0; --mint-deep: #cfe2dc; --rose-deep: #e6c9c2; --tan-deep: #e2d5bd; --lavender-deep: #cfd1ea; --olive-deep: #d9dfae;
  --r-xl: 32px; --r-lg: 24px; --r-md: 16px; --r-sm: 10px;
  --shadow: 0 2px 4px rgba(17, 17, 17, 0.04), 0 16px 40px rgba(17, 17, 17, 0.08);
  --ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --font: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-family: var(--font); color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; overflow-x: clip;
}
.pp7 *, .pp7 *::before, .pp7 *::after { box-sizing: border-box; }
.pp7 h1, .pp7 h2, .pp7 h3, .pp7 p, .pp7 ul, .pp7 ol, .pp7 dl, .pp7 dd, .pp7 address { margin: 0; font-style: normal; }
.pp7 ul, .pp7 ol { padding: 0; list-style: none; }
.pp7 a { color: inherit; text-decoration: none; }
.pp7 :focus-visible { outline: 2px solid var(--green); outline-offset: 3px; border-radius: 6px; }
.pp7 h1, .pp7 h2, .pp7 h3, .pp7 .pp7-strip__tab, .pp7 .pp7-btn, .pp7 button, .pp7 input, .pp7 select, .pp7 textarea { font-family: var(--font); }
.pp7-wrap { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 28px; }
.pp7-num { font-variant-numeric: tabular-nums; }
.pp7-mono { font-family: var(--mono); font-size: 0.92em; letter-spacing: 0; }
.pp7-tint--mint { background: var(--mint); } .pp7-tint--sage { background: var(--sage); } .pp7-tint--rose { background: var(--rose); }
.pp7-tint--tan { background: var(--tan); } .pp7-tint--lavender { background: var(--lavender); } .pp7-tint--olive { background: var(--olive); }
.pp7-tint--paper { background: var(--paper); } .pp7-tint--white { background: var(--white); border: 1px solid var(--line); }

/* ---- Liquid glass (from the vault) ------------------------------------------------- */
.pp7-glass { position: relative; background: rgba(255, 255, 255, 0.62); -webkit-backdrop-filter: blur(22px) saturate(160%); backdrop-filter: blur(22px) saturate(160%); border: 1px solid rgba(255, 255, 255, 0.8); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 8px 24px rgba(17, 17, 17, 0.06); }

/* ---- Type -------------------------------------------------------------------------- */
.pp7-kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--green); margin-bottom: 12px; }
.pp7-h1 { font-size: clamp(38px, 4.8vw, 60px); font-weight: 600; line-height: 1.02; letter-spacing: -0.03em; color: var(--ink); }
.pp7-label { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }

/* ---- Buttons and links -------------------------------------------------------------- */
.pp7-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 0; font-size: 15px; font-weight: 600; letter-spacing: 0; line-height: 1; cursor: pointer; text-decoration: none; transition: transform 140ms var(--ease), background-color 160ms var(--ease), box-shadow 200ms var(--ease); }
.pp7-btn--sm { min-height: 40px; padding: 0 16px; font-size: 14px; }
.pp7 .pp7-btn--ink { background: var(--ink); color: #fff; }
.pp7 .pp7-btn--ink:hover { background: var(--ink-2); color: #fff; box-shadow: var(--shadow); }
.pp7 .pp7-btn--soft { background: rgba(255, 255, 255, 0.75); color: var(--ink); border: 1px solid rgba(255, 255, 255, 0.9); }
.pp7 .pp7-btn--soft:hover { background: #fff; }
.pp7 .pp7-btn.is-pressed, .pp7 .pp7-btn:active { transform: scale(0.97); transition-duration: 60ms; }
.pp7-link { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--green); border-bottom: 1px solid transparent; transition: border-color 160ms var(--ease), opacity 120ms; }
.pp7-link:hover { border-color: currentColor; }
.pp7-link svg { width: 16px; height: 16px; }
.pp7-link--quiet { color: var(--muted); font-weight: 500; }
.pp7 [data-pp-press].is-pressed { opacity: 0.82; }

/* ---- Band -------------------------------------------------------------------------- */
.pp7-band { padding: 36px 0 72px; }
.pp7-band__inner { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.pp7-band__copy { max-width: 720px; }
.pp7-band__line { margin-top: 18px; font-size: clamp(17px, 1.6vw, 20px); line-height: 1.45; color: var(--ink-2); text-wrap: pretty; }
.pp7-band__meta { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; font-size: 14px; color: var(--muted); text-align: right; white-space: nowrap; }
.pp7-band--out { padding-bottom: 64px; }

/* ---- Strip: floating glass tabs, sticky on scroll ------------------------------------ */
.pp7-strip-sentinel { height: 1px; margin-top: -1px; }
.pp7-strip { position: sticky; top: 0; z-index: 30; margin-top: -30px; padding: 6px 0; pointer-events: none; }
.pp7-strip .pp7-wrap { pointer-events: auto; }
.pp7-strip__list { display: flex; align-items: center; gap: 4px; padding: 6px; border-radius: 999px; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; transition: box-shadow 260ms var(--ease), background-color 260ms var(--ease); }
.pp7-strip__list::-webkit-scrollbar { display: none; }
.pp7-strip.is-stuck .pp7-strip__list { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 14px 40px rgba(17, 17, 17, 0.14); background: rgba(255, 255, 255, 0.78); }
.pp7-strip__item { flex: none; scroll-snap-align: start; }
.pp7-strip__item--end { margin-left: auto; }
.pp7-strip__tab { display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; font-size: 14px; font-weight: 600; letter-spacing: 0; color: var(--ink); white-space: nowrap; transition: background-color 180ms var(--ease), color 180ms var(--ease), transform 120ms var(--ease); }
.pp7-strip__tab:hover { background: rgba(17, 17, 17, 0.06); }
.pp7-strip__tab.is-pressed { transform: scale(0.96); }
.pp7-strip__tab.is-active { background: var(--ink); color: #fff; }
.pp7-strip__tab--quiet { color: var(--muted); font-weight: 500; }
/* When the site header sits above (sticky at tier 6), the strip tucks under it. */
body.pp-ticker .pp7-strip { top: var(--pp7-header-h, 0px); }

/* ---- The bench --------------------------------------------------------------------------- */
.pp7-bench { padding: 18px 0 96px; }

/* ---- The bench grid ------------------------------------------------------------------- */
.pp7-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: 16px; }
.pp7-tile { position: relative; display: flex; flex-direction: column; gap: 18px; padding: 24px 24px 22px; border-radius: var(--r-xl); min-width: 0; }
.pp7-tile--cashback { grid-column: span 5; grid-row: span 2; }
.pp7-tile--latest   { grid-column: span 7; }
.pp7-tile--refer    { grid-column: span 4; }
.pp7-tile--subs     { grid-column: span 3; }
.pp7-tile--history  { grid-column: span 7; }
.pp7-tile--address  { grid-column: span 5; }
.pp7-tile--details  { grid-column: span 5; }
.pp7-tile--certs    { grid-column: span 7; }
.pp7-grid:not(:has(.pp7-tile--cashback)) .pp7-tile--latest { grid-column: span 12; }
.pp7-grid:not(:has(.pp7-tile--refer)) .pp7-tile--subs { grid-column: span 7; }
.pp7-grid:not(:has(.pp7-tile--subs)) .pp7-tile--refer { grid-column: span 7; }

.pp7-tile__head { display: flex; align-items: center; gap: 10px; }
.pp7-tile__icon { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255, 255, 255, 0.85); color: var(--ink); flex: none; }
.pp7-tile__icon svg { width: 18px; height: 18px; }
.pp7-tile__title { font-size: 17px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.2; }
.pp7-tile__more { margin-left: auto; display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 600; color: var(--muted); padding: 6px 4px 6px 10px; border-radius: 999px; transition: color 160ms var(--ease), background-color 160ms var(--ease); }
.pp7-tile__more svg { width: 15px; height: 15px; transition: transform 200ms var(--ease); }
.pp7-tile__more:hover { color: var(--ink); background: rgba(255, 255, 255, 0.6); }
.pp7-tile__more:hover svg { transform: translateX(2px); }
.pp7-tile__lead { font-size: 15px; line-height: 1.5; color: var(--ink-2); text-wrap: pretty; }
.pp7-tile__note { font-size: 14px; line-height: 1.5; color: var(--muted); text-wrap: pretty; }
.pp7-tile__foot { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 6px; }
.pp7-tile__foot--wrap { justify-content: flex-start; flex-wrap: wrap; gap: 14px 18px; }
.pp7-empty { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.pp7-empty__big { font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }

/* ---- Cashback ------------------------------------------------------------------------ */
.pp7-cash { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pp7-cash__main { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pp7-cash__amount { font-size: clamp(44px, 4.6vw, 64px); font-weight: 600; line-height: 1; letter-spacing: -0.035em; }
.pp7-cash__amount .woocommerce-Price-currencySymbol { font-size: 0.6em; vertical-align: 0.35em; margin-right: 2px; font-weight: 500; }
.pp7-cash__expiry { font-size: 14px; font-weight: 500; color: var(--green); }
.pp7-tile.is-urgent .pp7-cash__expiry { color: var(--red); }
.pp7-cash__pending { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font-size: 13px; font-weight: 600; color: var(--ink); padding: 8px 12px; border-radius: 999px; background: rgba(255, 255, 255, 0.7); align-self: flex-start; }
.pp7-cash__pending svg { width: 14px; height: 14px; }
/* the number carries the weight, so the pair sits a few pixels low of the geometric centre to read centred */
.pp7-ring { position: relative; width: 116px; height: 116px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; padding-top: 10px; box-sizing: border-box; }
.pp7-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.pp7-ring__bg { fill: none; stroke: rgba(255, 255, 255, 0.8); stroke-width: 9; }
.pp7-ring__val { fill: none; stroke: var(--green); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset 1200ms var(--ease) 200ms; }
.pp7-tile.is-in .pp7-ring__val, .is-in > .pp7-ring .pp7-ring__val { stroke-dashoffset: calc(100 - var(--pct, 0) * 100); }
.pp7-tile.is-urgent .pp7-ring__val { stroke: var(--red); }
.pp7-ring__num { font-size: 30px; font-weight: 600; line-height: 1; letter-spacing: -0.03em; }
.pp7-ring__unit { margin-top: 3px; font-size: 10.5px; font-weight: 600; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.pp7-cash__rows { display: flex; flex-direction: column; border-top: 1px solid rgba(17, 17, 17, 0.1); }
.pp7-cash__row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(17, 17, 17, 0.08); font-size: 14px; }
.pp7-cash__row.has-timer { grid-template-columns: 1fr auto auto auto; }
/* each active credit's timer: a small bar with the days beside it; hover or focus tells the full line */
.pp7-timer { position: relative; display: inline-flex; align-items: center; gap: 8px; cursor: default; border-radius: 6px; }
.pp7-timer__track { display: block; width: 64px; height: 6px; border-radius: 999px; background: rgba(17, 17, 17, 0.1); overflow: hidden; }
.pp7-timer__fill { display: block; height: 100%; width: calc(var(--pct, 0) * 100%); border-radius: 999px; background: var(--green); transform-origin: left; transition: width 1000ms linear; }
.pp7-timer__days { font-size: 12px; font-weight: 600; color: var(--green); min-width: 4.4em; white-space: nowrap; }
.pp7-cash__row.is-expired-now .pp7-cash__row-state { color: var(--faint); }
.pp7-cash__row.is-urgent .pp7-timer__fill, .pp7-cash__row.is-urgent .pp7-timer__days { background: var(--red); color: var(--red); }
.pp7-cash__row.is-urgent .pp7-timer__fill { color: inherit; }
.pp7-timer::after { content: attr(data-tip); position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translate(-50%, 4px); padding: 6px 10px; border-radius: 8px; background: var(--ink); color: #fff; font-size: 12px; font-weight: 500; white-space: nowrap; pointer-events: none; opacity: 0; transition: opacity 160ms var(--ease), transform 200ms var(--ease); z-index: 2; }
.pp7-timer::before { content: ""; position: absolute; left: 50%; bottom: calc(100% + 3px); transform: translateX(-50%); border: 5px solid transparent; border-top-color: var(--ink); border-bottom: 0; opacity: 0; transition: opacity 160ms var(--ease); pointer-events: none; }
.pp7-timer:hover::after, .pp7-timer:focus-visible::after { opacity: 1; transform: translate(-50%, 0); }
.pp7-timer:hover::before, .pp7-timer:focus-visible::before { opacity: 1; }
.pp7-timer:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }
.pp7-cash__row-state { font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--green); }
.pp7-cash__row.is-pending .pp7-cash__row-state { color: var(--amber); }
.pp7-cash__row.is-redeemed { color: var(--faint); } .pp7-cash__row.is-redeemed .pp7-cash__row-state { color: var(--faint); }
.pp7-cash__row-amt { font-weight: 600; }

/* how it works: three quiet steps that fill the tall tile with something worth reading */
.pp7-how { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.pp7-how li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--ink-2); }
.pp7-how li strong { font-weight: 600; color: var(--ink); }
.pp7-how__n { flex: none; width: 24px; height: 24px; border-radius: 50%; background: rgba(255, 255, 255, 0.85); color: var(--green); font-size: 12px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }

/* ---- Latest order and the track --------------------------------------------------- */
.pp7-latest { display: flex; flex-direction: column; gap: 18px; flex: 1; }
.pp7-latest__top { display: flex; align-items: baseline; gap: 14px; font-size: 15px; }
.pp7-latest__date { color: var(--muted); }
.pp7-latest__total { margin-left: auto; font-weight: 600; font-size: 17px; }
.pp7-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; padding-top: 2px; }
.pp7-track__step { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.pp7-track__step::before { content: ""; position: absolute; left: 0; right: 0; top: 9px; height: 3px; background: rgba(17, 17, 17, 0.12); border-radius: 2px; }
.pp7-track__step:first-child::before { border-radius: 2px 0 0 2px; } .pp7-track__step:last-child::before { right: auto; width: 100%; }
.pp7-track__step.is-done::before { background: var(--green); }
.pp7-track__step.is-now::before { background: linear-gradient(90deg, var(--green) 0 45%, rgba(17, 17, 17, 0.12) 45%); }
.pp7-track__dot { position: relative; z-index: 1; width: 21px; height: 21px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, 0.9); border: 3px solid rgba(17, 17, 17, 0.14); color: #fff; box-sizing: border-box; }
.pp7-track__dot svg { width: 12px; height: 12px; }
.pp7-track__step.is-done .pp7-track__dot { background: var(--green); border-color: var(--green); }
.pp7-track__step.is-now .pp7-track__dot { box-shadow: 0 0 0 4px rgba(0, 79, 66, 0.16); }
.pp7-track__name { font-size: 12px; font-weight: 600; letter-spacing: 0.02em; color: var(--muted); }
.pp7-track__step.is-done .pp7-track__name { color: var(--ink); }
.pp7-track--off .pp7-track__step.is-now .pp7-track__dot, .pp7-track--off .pp7-track__step::before { opacity: 0.5; }
.pp7-items { display: flex; flex-direction: column; gap: 8px; }
.pp7-item { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding: 8px 10px 8px 8px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.55); }
.pp7-items--compact .pp7-item { background: var(--paper); }
.pp7-item--more { color: var(--muted); font-size: 13px; background: transparent; padding-left: 12px; }
.pp7-item__img { width: 44px; height: 44px; flex: none; border-radius: 10px; background: #fff; overflow: hidden; display: grid; place-items: center; }
.pp7-item__img img { width: 100%; height: 100%; object-fit: contain; }
.pp7-item__body { display: flex; flex-direction: column; min-width: 0; gap: 1px; flex: 1 1 170px; }   /* the button wraps below the name before the name truncates */
.pp7-item__name { font-size: 15px; font-weight: 600; letter-spacing: -0.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp7-item__meta { font-size: 13px; color: var(--muted); }
.pp7-item__coa { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 14px; border-radius: 999px; background: #fff; font-size: 13px; font-weight: 600; letter-spacing: 0; color: var(--green); flex: none; white-space: nowrap; transition: background-color 160ms var(--ease), transform 120ms var(--ease); }
.pp7-item__coa svg { width: 16px; height: 16px; }
.pp7-item__coa em { font-style: normal; font-family: var(--mono); font-size: 11px; letter-spacing: 0; color: var(--muted); margin-left: 4px; }
.pp7-item__coa:hover em { color: rgba(255, 255, 255, 0.8); }
.pp7-item__coa--none { color: var(--muted); }
.pp7-tile__foot--actions { justify-content: flex-start; flex-wrap: wrap; gap: 10px; }
.pp7-tile__foot--actions .pp7-btn--ink { margin-left: auto; }
.pp7-tile__foot--actions .pp7-btn svg { width: 16px; height: 16px; }
.pp7-item__coa:hover { background: var(--ink); color: #fff; }

/* ---- Order history: rows that expand in place ---------------------------------------- */
.pp7-history { display: flex; flex-direction: column; }
.pp7-hrow { border-top: 1px solid var(--line); }
.pp7-hrow:first-child { border-top: 0; }
.pp7-hrow__btn { display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 14px; width: 100%; padding: 14px 4px; background: none; border: 0; text-align: left; font-size: 15px; color: var(--ink); cursor: pointer; border-radius: var(--r-sm); transition: background-color 160ms var(--ease); }
.pp7-hrow__btn:hover { background: var(--paper); }
.pp7-hrow__date { color: var(--muted); }
.pp7-hrow__total { font-weight: 600; }
.pp7-hrow__chev { display: inline-flex; width: 18px; height: 18px; color: var(--muted); transition: transform 320ms var(--ease); }
.pp7-hrow__chev svg { width: 100%; height: 100%; transform: rotate(90deg); }
.pp7-hrow__btn[aria-expanded="true"] .pp7-hrow__chev { transform: rotate(180deg); }
.pp7-hrow__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 380ms var(--ease); }
.pp7-hrow__panel[hidden] { display: grid; }
.pp7-hrow__panel.is-open { grid-template-rows: 1fr; }
.pp7-hrow__inner { overflow: hidden; min-height: 0; display: flex; flex-direction: column; gap: 12px; }
.pp7-hrow__panel.is-open .pp7-hrow__inner { padding-bottom: 16px; }
.pp7-hrow__actions { display: flex; gap: 10px; }
.pp7-pill { display: inline-flex; align-items: center; min-height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; background: rgba(17, 17, 17, 0.07); color: var(--ink-2); white-space: nowrap; }
.pp7-pill--completed, .pp7-pill--active { background: rgba(47, 143, 91, 0.14); color: #1f6b43; }
.pp7-pill--processing, .pp7-pill--shipped, .pp7-pill--in-transit { background: rgba(0, 79, 66, 0.12); color: var(--green); }
.pp7-pill--on-hold, .pp7-pill--pending { background: rgba(184, 134, 43, 0.16); color: #7d5a15; }
.pp7-pill--cancelled, .pp7-pill--refunded, .pp7-pill--failed { background: rgba(180, 68, 60, 0.12); color: var(--red); }

/* ---- Refer a friend --------------------------------------------------------------------- */
.pp7-share { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); }
.pp7-share__row { display: flex; gap: 8px; }
.pp7 .pp7-share__input { flex: 1; min-width: 0; height: 42px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--line-strong); background: #fff; color: var(--ink); font-size: 13px; }
.pp7 .pp7-share__copy { display: inline-flex; align-items: center; gap: 6px; height: 42px; padding: 0 16px; border-radius: 999px; border: 0; background: var(--ink); color: #fff; font-size: 13px; font-weight: 600; cursor: pointer; transition: transform 120ms var(--ease), background-color 160ms var(--ease); }
.pp7 .pp7-share__copy svg { width: 15px; height: 15px; }
.pp7 .pp7-share__copy.is-done { background: var(--green); }
.pp7 .pp7-share__copy.is-pressed { transform: scale(0.95); }
.pp7-share__code { font-size: 13px; color: var(--muted); }
.pp7-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: auto; }
.pp7-stats dt { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.pp7-stats dd { font-size: 24px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; margin-top: 4px; }

/* ---- Subscriptions --------------------------------------------------------------------- */
.pp7-subs { display: flex; flex-direction: column; gap: 8px; }
.pp7-sub { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 12px 14px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); }
.pp7-sub__name { font-weight: 600; font-size: 15px; }
.pp7-sub__meta { grid-column: 1; font-size: 13px; color: var(--muted); }
.pp7-sub .pp7-pill { grid-column: 2; grid-row: 1 / span 2; align-self: center; }

/* ---- Addresses, details, certificates ------------------------------------------------- */
.pp7-addr { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp7-addr__col { display: flex; flex-direction: column; gap: 8px; padding: 14px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); }
.pp7-addr__text { font-size: 15px; line-height: 1.5; flex: 1; }
.pp7-addr__none { color: var(--faint); }
.pp7-kv { display: flex; flex-direction: column; }
.pp7-kv > div { display: grid; grid-template-columns: 90px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.pp7-kv > div:last-child { border-bottom: 0; }
.pp7-kv dt { color: var(--muted); }
.pp7-kv dd { font-weight: 500; overflow-wrap: anywhere; }
.pp7-certs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.pp7-cert { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px 14px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); transition: background-color 160ms var(--ease), transform 120ms var(--ease); }
.pp7-cert:hover { background: #fff; }
.pp7-cert.is-pressed { transform: scale(0.98); }
.pp7-cert__name { font-weight: 600; font-size: 15px; letter-spacing: -0.01em; }
.pp7-cert__go { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--green); white-space: nowrap; }
.pp7-cert__go svg { width: 14px; height: 14px; }

/* ---- Endpoint pages: WooCommerce's content on one surface ---------------------------- */
.pp7-page { padding: 36px 0 96px; }
.pp7-surface { border-radius: var(--r-xl); padding: 32px; }
.pp7-surface--mint { background: var(--mint); } .pp7-surface--sage { background: var(--sage); } .pp7-surface--rose { background: var(--rose); }
.pp7-surface--tan { background: var(--tan); } .pp7-surface--lavender { background: var(--lavender); } .pp7-surface--paper { background: var(--paper); }
.pp7-endpoint { font-size: 15px; line-height: 1.5; }
.pp7-endpoint h2, .pp7-endpoint h3, .pp7-endpoint legend { font-size: 20px; font-weight: 600; letter-spacing: -0.015em; margin: 0 0 14px; }
.pp7-endpoint p { margin: 0 0 14px; }
.pp7-endpoint a:not(.button) { color: var(--green); font-weight: 500; }
.pp7-endpoint .woocommerce-MyAccount-content { width: 100%; float: none; }
/* The Customizer's Additional CSS hides every WooCommerce notice wrapper, everywhere, with !important. On the
   account page that made login errors, the product-gate notice and "address saved" all invisible
   (a customer spent a day on a silent login failure, 2026-09-11). Notices show here; only truly
   empty wrappers stay hidden. */
.pp7 .woocommerce-notices-wrapper { display: block !important; }        /* the site rule is !important too */
.pp7 .woocommerce-notices-wrapper:empty { display: none !important; }
.pp7 .woocommerce-message, .pp7 .woocommerce-info, .pp7 .woocommerce-error { margin: 0 0 20px; padding: 14px 18px; border: 0; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.8); color: var(--ink); font-size: 14px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.pp7 .woocommerce-message::before, .pp7 .woocommerce-info::before, .pp7 .woocommerce-error::before { display: none; }
.pp7 .woocommerce-error { background: rgba(180, 68, 60, 0.12); }
.pp7 .woocommerce-message .button, .pp7 .woocommerce-info .button { margin-left: auto; float: none; }
/* the theme's kit sets a serif on headings and its own face on buttons; inside the shell Jost wins */
.pp7-endpoint h1, .pp7-endpoint h2, .pp7-endpoint h3, .pp7-endpoint h4, .pp7-endpoint legend, .pp7 .button, .pp7 button, .pp7 input, .pp7 select, .pp7 textarea, .pp7-sheet h1, .pp7-sheet h2, .pp7-sheet h3, .pp7-sheet label { font-family: var(--font) !important; }
/* Astra floats labels inside the field; here labels sit above it, always visible */
.pp7 .form-row.ast-animate-input label, .pp7 .form-row label { position: static !important; transform: none !important; opacity: 1 !important; font-size: 13px !important; pointer-events: auto; }
.pp7 .form-row.ast-animate-input input, .pp7 .form-row.ast-animate-input select, .pp7 .form-row.ast-animate-input textarea { padding-top: 0 !important; padding-bottom: 0 !important; }
.pp7 .woocommerce-Addresses > p, .pp7 .woocommerce-Addresses > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* tables */
.pp7-endpoint table.shop_table, .pp7 .autoimmune-cashback__history { width: 100%; border-collapse: separate; border-spacing: 0; border: 0; border-radius: var(--r-md); overflow: hidden; background: rgba(255, 255, 255, 0.7); margin: 0 0 20px; }
.pp7-endpoint table.shop_table th, .pp7-endpoint table.shop_table td, .pp7 .autoimmune-cashback__history th, .pp7 .autoimmune-cashback__history td { padding: 12px 14px; text-align: left; border: 0; border-top: 1px solid rgba(17, 17, 17, 0.08); font-size: 14px; vertical-align: middle; }
.pp7-endpoint table.shop_table thead th, .pp7 .autoimmune-cashback__history thead th { border-top: 0; background: rgba(17, 17, 17, 0.04); color: var(--muted); font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.pp7-endpoint table.shop_table td.woocommerce-orders-table__cell-order-actions .button { margin: 0 6px 0 0; }
.pp7-endpoint .woocommerce-orders-table__cell-order-number a, .pp7-endpoint .woocommerce-order-details__title { font-family: var(--mono); }
/* buttons */
.pp7 .button, .pp7 button.button, .pp7 input.button, .pp7 .woocommerce-Button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--ink); color: #fff; font-family: var(--font); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; line-height: 1; cursor: pointer; transition: transform 120ms var(--ease), background-color 160ms var(--ease); }
.pp7 .button:hover, .pp7 .woocommerce-Button:hover { background: var(--green); color: #fff; }
.pp7 .button:active { transform: scale(0.97); }
.pp7 .woocommerce-orders-table__cell-order-actions .button, .pp7 .subscription_details .button, .pp7 .woocommerce-pagination .button { background: rgba(255, 255, 255, 0.85); color: var(--ink); border: 1px solid rgba(255, 255, 255, 0.9); }
.pp7 .woocommerce-orders-table__cell-order-actions .button:hover { background: #fff; color: var(--ink); }
/* forms */
.pp7 .form-row { margin: 0 0 14px; padding: 0; }
.pp7 .form-row label { display: block; margin-bottom: 6px; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.pp7 .form-row .required { color: var(--red); text-decoration: none; }
.pp7 .input-text, .pp7 .form-row input[type="text"], .pp7 .form-row input[type="email"], .pp7 .form-row input[type="tel"], .pp7 .form-row input[type="password"], .pp7 .form-row select, .pp7 .form-row textarea, .pp7 .select2-container .select2-selection--single { width: 100%; min-height: 46px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--line-strong); background: #fff; color: var(--ink); font-family: var(--font); font-size: 15px; line-height: 1.3; box-shadow: none; transition: border-color 160ms var(--ease), box-shadow 160ms var(--ease); }
.pp7 .form-row textarea { padding-top: 12px; min-height: 100px; }
.pp7 .input-text:focus, .pp7 .form-row input:focus, .pp7 .form-row select:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 4px rgba(0, 79, 66, 0.12); }
.pp7 .select2-container .select2-selection--single { display: flex; align-items: center; height: 46px; }
.pp7 .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.3; }
.pp7 .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 12px; }
.pp7 .woocommerce-address-fields, .pp7 .woocommerce-EditAccountForm { max-width: 640px; }
.pp7 .form-row-first, .pp7 .form-row-last { width: calc(50% - 8px); float: left; }
.pp7 .form-row-last { float: right; }
.pp7 .form-row-wide, .pp7 .clear { clear: both; }
.pp7 .show-password-input { top: 50%; transform: translateY(-50%); right: 14px; }
.pp7 fieldset { border: 0; padding: 0; margin: 20px 0; }
/* addresses endpoint */
.pp7 .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp7 .woocommerce-Addresses .woocommerce-Address { width: auto; float: none; padding: 18px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.65); }
.pp7 .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.pp7 .woocommerce-Address-title h2, .pp7 .woocommerce-Address-title h3 { margin: 0; font-size: 17px; }
.pp7 .woocommerce-Address-title .edit { font-size: 13px; font-weight: 600; }
.pp7 .woocommerce-Address address { font-style: normal; line-height: 1.55; }
/* order view */
.pp7 .woocommerce-order-details, .pp7 .woocommerce-customer-details { margin-top: 20px; }
.pp7 .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pp7 .woocommerce-customer-details .woocommerce-column { width: auto; float: none; padding: 18px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.65); }
.pp7 .woocommerce-customer-details address { font-style: normal; line-height: 1.55; }
/* the rewards layer inside the shell: the plugin's own summary card and table sit on the tint */
.pp7 .pp-rewards-v6 .autoimmune-cashback__summary, .pp7 .autoimmune-cashback__summary { border: 0; background: rgba(255, 255, 255, 0.72); border-radius: var(--r-lg); }
.pp7 .autoimmune-cashback__history { border: 0; }
.pp7 .autoimmune-cashback__history thead th { background: rgba(17, 17, 17, 0.04); color: var(--muted); }
.pp7 .autoimmune-referral__share { border: 0; background: rgba(255, 255, 255, 0.72); border-radius: var(--r-lg); }
.pp7 .autoimmune-referral__input { border-color: var(--line-strong); }
.pp7 .autoimmune-cashback__activated { background: rgba(255, 255, 255, 0.85); }

/* ---- The Cashback tab: the plugin's template in the tile's language ------------------------- */
.pp7 .pp7-endpoint--cashback .autoimmune-cashback { display: flex; flex-direction: column; gap: 18px; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__intro { margin: 0; font-size: 15px; line-height: 1.5; color: var(--ink-2); max-width: 60ch; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__activated { margin: 0; padding: 12px 16px; border: 0; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.85); color: var(--green); font-size: 14px; font-weight: 600; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; margin: 0; padding: 24px 26px 22px; border: 0; border-radius: var(--r-lg); background: rgba(255, 255, 255, 0.72); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__balance { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__label { font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); opacity: 1; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__amount { margin: 0; font-size: clamp(44px, 4.6vw, 64px); font-weight: 600; line-height: 1; letter-spacing: -0.035em; font-variant-numeric: tabular-nums; color: var(--ink); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__amount .woocommerce-Price-currencySymbol { font-size: 0.6em; vertical-align: 0.35em; margin-right: 2px; font-weight: 500; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__expiry { font-size: 14px; font-weight: 500; color: var(--green); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__summary .pp7-ring { grid-column: 2; grid-row: 1; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__how { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding-top: 16px; border-top: 1px solid var(--line); font-size: 14px; line-height: 1.5; color: var(--muted); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__how .pp7-how-text { flex: 1; min-width: 0; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__how .button { flex: none; margin: 0; min-height: 46px; padding: 0 20px; border-radius: 999px; background: var(--ink); color: #fff; font-family: var(--font); font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; display: inline-flex; align-items: center; transition: transform 120ms var(--ease), background-color 160ms var(--ease), box-shadow 200ms var(--ease); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__how .button:hover { background: var(--ink-2); color: #fff; box-shadow: var(--shadow); }
/* the ledger as rows, not a table */
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history { display: block; margin: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history thead { display: none; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tbody { display: flex; flex-direction: column; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; grid-template-areas: "from timer state amount" "date date date expires"; column-gap: 14px; row-gap: 2px; align-items: center; padding: 12px 4px; border-top: 1px solid rgba(17, 17, 17, 0.1); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr:first-child { border-top: 0; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td { padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 14px; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(1) { grid-area: date; font-size: 12px; color: var(--faint); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(2) { grid-area: from; font-weight: 500; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(2) a { color: var(--ink); font-weight: 500; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(3) { grid-area: amount; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(4) { grid-area: state; font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--green); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(4) small { display: inline; font-size: 11px; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--faint); margin-left: 6px; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(5) { grid-area: expires; font-size: 12px; color: var(--faint); text-align: right; display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.has-timer td:nth-child(5) .pp7-timer { grid-area: timer; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.has-timer .pp7-timer { position: relative; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-pending td:nth-child(4) { color: var(--amber); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-redeemed td, .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-expired td, .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-void td { color: var(--faint) !important; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-redeemed td:nth-child(4), .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-expired td:nth-child(4), .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-void td:nth-child(4) { color: var(--faint) !important; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.is-urgent td:nth-child(4) { color: var(--red); }

/* the order behind a credit */
.pp7-cash__row-link { color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--line-strong); transition: border-color 160ms var(--ease), color 160ms var(--ease); }
.pp7-cash__row-link:hover { color: var(--green); border-color: currentColor; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(2) { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(2) a { border-bottom: 1px solid var(--line-strong); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history td:nth-child(2) a:hover { color: var(--green); border-color: currentColor; }
.pp7 .pp7-origin__btn { display: inline-flex; align-items: center; gap: 4px; min-height: 26px; padding: 0 8px 0 10px; border: 0; border-radius: 999px; background: rgba(255, 255, 255, 0.8); color: var(--muted); font-family: var(--font); font-size: 12px; font-weight: 600; cursor: pointer; transition: background-color 160ms var(--ease), color 160ms var(--ease), transform 120ms var(--ease); }
.pp7 .pp7-origin__btn svg { width: 14px; height: 14px; transition: transform 260ms var(--ease); }
.pp7 .pp7-origin__btn:hover { background: #fff; color: var(--ink); }
.pp7 .pp7-origin__btn.is-pressed { transform: scale(0.96); }
.pp7 .pp7-origin__btn[aria-expanded="true"] { background: var(--ink); color: #fff; }
.pp7 .pp7-origin__btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.pp7-origin { display: block; padding: 0; border: 0; }
.pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.pp7-origin > td { display: block; padding: 0 !important; }
.pp7 .pp7-origin__inner { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 380ms var(--ease); }
.pp7 .pp7-origin.is-open .pp7-origin__inner { grid-template-rows: 1fr; }
.pp7 .pp7-origin__card { overflow: hidden; min-height: 0; display: flex; flex-direction: column; gap: 10px; }
.pp7 .pp7-origin.is-open .pp7-origin__card { padding: 4px 0 16px; }
.pp7 .pp7-origin__card > * { margin: 0 !important; }
.pp7 .pp7-origin__head { display: flex; align-items: baseline; gap: 12px; padding: 14px 16px 0; }
.pp7 .pp7-origin__order { font-family: var(--mono); font-size: 14px; font-weight: 600; color: var(--ink) !important; }
.pp7 .pp7-origin__date { color: var(--muted); font-size: 13px; }
.pp7 .pp7-origin__total { margin-left: auto !important; font-weight: 600; }
.pp7 .pp7-origin__items { display: flex; flex-direction: column; gap: 6px; padding: 0 16px; }
.pp7 .pp7-origin__items li { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; padding: 8px 12px; border-radius: var(--r-sm); background: rgba(255, 255, 255, 0.6); }
.pp7 .pp7-origin__items em { font-style: normal; color: var(--muted); }
.pp7 .pp7-origin__maths { padding: 0 16px; font-size: 14px; color: var(--ink-2); }
.pp7 .pp7-origin__maths strong { color: var(--green); font-weight: 600; }
.pp7 .pp7-origin__when { padding: 0 16px; font-size: 12px; color: var(--faint); }
.pp7 .pp7-origin__card .pp7-btn { align-self: flex-start; margin: 4px 16px 0 !important; }

/* ---- The Refer a friend tab ------------------------------------------------------------------- */
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral { display: flex; flex-direction: column; gap: 18px; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__title { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.02em; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__intro { max-width: 60ch; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__intro p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__share { margin: 0; padding: 20px 22px; border: 0; border-radius: var(--r-lg); background: rgba(255, 255, 255, 0.72); display: flex; flex-direction: column; gap: 10px; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__label { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); opacity: 1; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__row { display: flex; gap: 8px; max-width: none; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__input { flex: 1; min-width: 0; height: 46px; padding: 0 16px; border: 1px solid var(--line-strong); border-radius: 999px; background: #fff; color: var(--ink); font-family: var(--mono); font-size: 13px; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__copy { flex: none; display: inline-flex; align-items: center; height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--ink); color: #fff; font-family: var(--font); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; cursor: pointer; transition: transform 120ms var(--ease), background-color 160ms var(--ease); }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__copy:hover { background: var(--green); color: #fff; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__copy:active { transform: scale(0.97); }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__code { margin: 0; font-size: 13px; color: var(--muted); opacity: 1; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__code strong { font-family: var(--mono); font-weight: 600; color: var(--ink); }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__stats > div { padding: 16px 18px; border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__stats dt { font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); opacity: 1; }
.pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__stats dd { margin: 6px 0 0; font-size: 26px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }

/* the friends behind the counters */
.pp7-friends { display: flex; flex-direction: column; gap: 10px; }
.pp7-friends__title { margin: 8px 0 0; font-size: 17px; font-weight: 600; letter-spacing: -0.01em; }
.pp7-friends__empty { margin: 0; font-size: 14px; line-height: 1.5; color: var(--muted); max-width: 52ch; }
.pp7-friends__list { display: flex; flex-direction: column; gap: 6px; }
.pp7-friend { border-radius: var(--r-md); background: rgba(255, 255, 255, 0.6); overflow: hidden; }
.pp7-friend__btn { display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 12px; width: 100%; padding: 10px 12px 10px 10px; border: 0; background: transparent; text-align: left; font-family: var(--font); color: var(--ink); cursor: pointer; transition: background-color 160ms var(--ease); }
.pp7-friend__btn:hover { background: rgba(255, 255, 255, 0.5); }
.pp7-friend__disc { width: 34px; height: 34px; border-radius: 50%; background: var(--tan-deep); color: var(--ink); font-size: 14px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.pp7-friend__body { display: flex; flex-direction: column; min-width: 0; }
.pp7-friend__name { font-size: 15px; font-weight: 600; }
.pp7-friend__meta { font-size: 12px; color: var(--muted); }
.pp7-friend__amt { font-weight: 600; font-size: 15px; }
.pp7-friend__chev { width: 16px; height: 16px; color: var(--faint); transition: transform 260ms var(--ease); }
.pp7-friend__chev svg { width: 100%; height: 100%; }
.pp7-friend__btn[aria-expanded="true"] .pp7-friend__chev { transform: rotate(180deg); }
.pp7-friend__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms var(--ease); }
.pp7-friend__panel.is-open { grid-template-rows: 1fr; }
.pp7-friend__inner { overflow: hidden; min-height: 0; padding: 0 14px; display: flex; flex-direction: column; gap: 4px; }
.pp7-friend__panel.is-open .pp7-friend__inner { padding-bottom: 14px; }
.pp7-friend__line { margin: 0; font-size: 14px; color: var(--ink-2); }
.pp7-friend__order { margin: 0; font-size: 12px; color: var(--faint); }
.pp7-pill--pending { background: rgba(184, 134, 43, 0.16); color: #7d5a15; }
.pp7-pill--redeemed, .pp7-pill--expired { background: rgba(17, 17, 17, 0.06); color: var(--muted); }

/* ---- Logged out ------------------------------------------------------------------------- */
/* Logged out: WooCommerce's own login/register forms, dressed as the /sign-in/ page's card so the
   site has one login design. The markup is WooCommerce's and is never replaced — registration, the
   lost-password endpoint and the reset link from an email all keep working. account-v6.js sets the
   placeholders (the labels are only visually hidden) and anchors the register card. */
.pp7-login { max-width: 460px; margin: 0 auto; }
.pp7-login .u-columns { display: grid; grid-template-columns: 1fr; gap: 20px; }
.pp7-login .u-columns .u-column1, .pp7-login .u-columns .u-column2 {
  width: auto; float: none; padding: 34px 30px 30px; border-radius: 26px; background: #fff;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 12px 34px rgba(17,17,17,.06);
}
.pp7-login .u-columns h2 { font-size: 30px; font-weight: 600; letter-spacing: -0.03em; line-height: 1.1; margin: 0 0 6px; text-align: center; }
.pp7-login .u-column1 h2::after { content: "Access your account, orders, and research documentation."; display: block; margin: 10px auto 0; max-width: 300px; font-size: 15px; font-weight: 400; letter-spacing: 0; line-height: 1.45; color: var(--muted); }
.pp7-login .u-columns h2 { margin-bottom: 24px; }
.pp7-login form.login, .pp7-login form.register, .pp7-login .lost_reset_password { border: 0; padding: 0; margin: 0; max-width: none; }
.pp7-login .form-row { margin: 0 0 12px; padding: 0; }
/* the label stays for screen readers; the placeholder carries it visually, as on /sign-in/ */
/* Astra's floating-label CSS fights this, so every declaration has to win outright. */
.pp7-login form.login label[for="username"], .pp7-login form.login label[for="password"],
.pp7-login form.register label[for="reg_email"], .pp7-login form.register label[for="reg_password"],
.pp7-login .lost_reset_password label[for="user_login"] {
  position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important;
  margin: -1px !important; padding: 0 !important; overflow: hidden !important; opacity: 0 !important;
  clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important;
  border: 0 !important; transform: none !important; pointer-events: none !important;
}
.pp7-login .input-text, .pp7-login input[type="text"], .pp7-login input[type="email"], .pp7-login input[type="password"] {
  width: 100%; min-height: 56px; padding: 0 20px; border: 0 !important; border-radius: 16px !important;
  background: #f1f0ec !important; color: var(--ink) !important; font-family: var(--font); font-size: 16px; line-height: 1.3;
  box-shadow: none !important; transition: background-color 160ms var(--ease), box-shadow 160ms var(--ease);
}
.pp7-login .input-text::placeholder { color: #9a9a93; }
/* the password reveal sits inside the field instead of beside it */
.pp7-login .form-row:has(.show-password-input) { position: relative; }
.pp7-login .show-password-input {
  position: absolute; top: 50%; right: 16px; transform: translateY(-50%);
  width: 26px; height: 26px; padding: 0; border: 0; border-radius: 50%; background: transparent;
  color: var(--faint); cursor: pointer; opacity: .65; transition: opacity 140ms var(--ease);
}
.pp7-login .show-password-input:hover, .pp7-login .show-password-input:focus { opacity: 1; }
/* WooCommerce draws this glyph from its own icon font, which is not loaded here — it rendered as an
   empty box. Our own mask does not depend on that font. */
.pp7-login .show-password-input::after { content: "" !important; display: none !important; }
.pp7-login .show-password-input {
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-6.5 10-6.5S22 12 22 12s-3.6 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-6.5 10-6.5S22 12 22 12s-3.6 6.5-10 6.5S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='2.6'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  color: #8a8a83;
}
.pp7-login .show-password-input.display-password { color: var(--green); opacity: 1; }
.pp7-login input[type="password"], .pp7-login .form-row:has(.show-password-input) .input-text { padding-right: 52px; }
.pp7-login .input-text:focus { background: #ece9e2 !important; outline: none; box-shadow: 0 0 0 4px rgba(0,79,66,.12) !important; }
/* The form is a two-column grid so remember-me and the reset link share a row and the button spans
   both, as on /sign-in/. WooCommerce puts remember-me and the submit inside one <p>, so that <p>
   becomes display:contents and its children are placed directly. */
/* Placement is by structure, never by class: Astra's script adds .ast-animate-input to any row
   whose input has a value, so a class-based selector picked up the field rows after a failed
   submit and collapsed the grid. Every cell is placed explicitly. */
.pp7-login form.login { display: grid; grid-template-columns: 1fr auto; gap: 0 14px; align-items: center; }
.pp7-login form.login > .form-row-wide { grid-column: 1 / -1; display: block !important; }
.pp7-login form.login > .form-row-wide:has(#username) { grid-row: 1; }
.pp7-login form.login > .form-row-wide:has(#password) { grid-row: 2; }
.pp7-login form.login > .form-row:has(.woocommerce-form-login__rememberme) { display: contents !important; }
.pp7-login form.login .woocommerce-form-login__rememberme { grid-column: 1; grid-row: 3; justify-self: start; }
.pp7-login form.login .woocommerce-LostPassword { grid-column: 2; grid-row: 3; justify-self: end; margin: 0 !important; }
.pp7-login form.login button[name="login"] { grid-column: 1 / -1; grid-row: 4; margin-top: 18px !important; }
.pp7-login form.login .ast-woo-form-actions { grid-column: 1 / -1; grid-row: 5; }
.pp7-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 500; }
.pp7-login .woocommerce-form-login__rememberme input { accent-color: var(--green); width: 17px; height: 17px; margin: 0; }
.pp7-login form.login .woocommerce-LostPassword { font-size: 14px; }
.pp7-login .woocommerce-LostPassword a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pp7-login form.login button[name="login"], .pp7-login form.register button, .pp7-login .lost_reset_password button {
  width: 100%; min-height: 60px; margin: 0 !important; padding: 0 26px; border: 0 !important; border-radius: 999px !important;
  background: var(--ink) !important; color: #fff !important; font-family: var(--font); font-size: 18px !important; font-weight: 600; letter-spacing: -0.01em;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px; cursor: pointer;
  transition: transform 120ms var(--ease), background-color 160ms var(--ease);
}
.pp7-login form.login button[name="login"]::after { content: "\2192"; font-size: 20px; line-height: 1; }
.pp7-login button:hover { background: var(--ink-2) !important; }
.pp7-login button.is-pressed { transform: scale(0.985); }
.pp7-login .ast-woo-form-actions { margin: 16px 0 0; text-align: center; font-size: 14px; color: var(--muted); }
.pp7-login .ast-woo-form-actions a { color: var(--ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.pp7-login .woocommerce-privacy-policy-text { margin-top: 14px; font-size: 12.5px; line-height: 1.5; color: var(--faint); text-align: center; }
.pp7-login .woocommerce-privacy-policy-text a { color: var(--muted); }
/* errors must be impossible to miss: a customer was left guessing by a silent failure */
.pp7-login .woocommerce-notices-wrapper:empty { display: none; }
.pp7-login .woocommerce-error, .pp7-login .woocommerce-message, .pp7-login .woocommerce-info {
  margin: 0 0 18px !important; padding: 14px 16px !important; border: 0 !important; border-radius: 16px !important;
  list-style: none; font-size: 14.5px; line-height: 1.45; text-align: left;
}
.pp7-login .woocommerce-info, .pp7-login .woocommerce-message { background: var(--mint) !important; color: var(--green) !important; font-weight: 500; }
.pp7-login .woocommerce-error { background: #fdeceb !important; color: #8f2f28 !important; }
/* WooCommerce focuses the first notice after a submit; the theme's focus ring is green, which reads
   wrong on an error. Keep a ring for keyboard users, in the notice's own colour. */
.pp7-login .woocommerce-error:focus, .pp7-login .woocommerce-info:focus, .pp7-login .woocommerce-message:focus,
.pp7-login .woocommerce-error:focus-visible, .pp7-login .woocommerce-info:focus-visible, .pp7-login .woocommerce-message:focus-visible { outline: none !important; box-shadow: 0 0 0 3px rgba(0, 79, 66, 0.18) !important; }
.pp7-login .woocommerce-error:focus, .pp7-login .woocommerce-error:focus-visible { box-shadow: 0 0 0 3px rgba(180, 68, 60, 0.22) !important; }
.pp7-login .woocommerce-error::before, .pp7-login .woocommerce-message::before, .pp7-login .woocommerce-info::before { display: none !important; }
.pp7-login .woocommerce-error li, .pp7-login .woocommerce-message li { margin: 0; padding: 0; }

/* ---- The sheet: address and detail forms open here --------------------------------------- */
.pp7-sheet { position: fixed; inset: 0; z-index: 10000; font-family: var(--font); color: var(--ink); }
.pp7-sheet[hidden] { display: none; }
.pp7-sheet__scrim { position: absolute; inset: 0; background: rgba(17, 17, 17, 0.32); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; }
.pp7-sheet__panel { position: absolute; left: 50%; bottom: 0; width: min(100%, 680px); max-height: min(92vh, 92dvh); display: flex; flex-direction: column; transform: translate(-50%, 100%); border-radius: 28px 28px 0 0; background: rgba(247, 246, 242, 0.9); -webkit-backdrop-filter: blur(28px) saturate(160%); backdrop-filter: blur(28px) saturate(160%); border: 1px solid rgba(255, 255, 255, 0.8); border-bottom: 0; box-shadow: 0 -24px 60px rgba(17, 17, 17, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.85); will-change: transform; touch-action: none; outline: none; }
.pp7-sheet__grip { display: flex; justify-content: center; padding: 10px 0 2px; cursor: grab; touch-action: none; }
.pp7-sheet__grip span { width: 40px; height: 5px; border-radius: 999px; background: rgba(17, 17, 17, 0.2); }
.pp7-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 20px 12px 28px; }
.pp7-sheet__title { font-size: 20px; font-weight: 600; letter-spacing: -0.02em; }
.pp7 .pp7-sheet__close, .pp7-sheet__close { width: 36px !important; height: 36px !important; min-width: 0 !important; min-height: 0 !important; padding: 0 !important; margin: 0; border-radius: 50% !important; border: 0 !important; box-shadow: none !important; background: rgba(17, 17, 17, 0.06); color: var(--ink); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: transform 120ms var(--ease), background-color 160ms var(--ease); }
.pp7-sheet__close svg { width: 16px; height: 16px; }
.pp7-sheet__close:hover { background: rgba(17, 17, 17, 0.12); }
.pp7-sheet__close.is-pressed { transform: scale(0.92); }
.pp7-sheet__body { overflow: auto; overscroll-behavior: contain; padding: 4px 28px 32px; touch-action: pan-y; font-size: 15px; -webkit-overflow-scrolling: touch; }
.pp7-sheet__body .woocommerce-notices-wrapper:empty { display: none; }
.pp7-sheet__body .woocommerce-Addresses { display: none; }
.pp7-sheet__body form { max-width: none; }
.pp7-sheet__body form > h3, .pp7-sheet__body form > h2 { display: none; } /* the sheet's own title says it */
.pp7-sheet__body .form-row { margin-bottom: 12px; }
.pp7-sheet__loading { display: flex; align-items: center; gap: 12px; padding: 24px 0; color: var(--muted); font-size: 14px; }
.pp7-sheet__loading::before { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 2px solid rgba(17, 17, 17, 0.14); border-top-color: var(--green); animation: pp7-spin 800ms linear infinite; }
@keyframes pp7-spin { to { transform: rotate(360deg); } }
body.pp7-sheet-open { overflow: hidden; }

/* ---- Select2 dropdowns (state, country): the same material as the fields ------------------ */
body.pp-account-v6 .select2-container--open .select2-dropdown { margin-top: 6px; padding: 6px; border: 1px solid rgba(255, 255, 255, 0.8) !important; border-radius: 16px !important; background: rgba(247, 246, 242, 0.96) !important; -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset, 0 20px 50px rgba(17, 17, 17, 0.16) !important; overflow: hidden; font-family: "Jost", system-ui, -apple-system, "Segoe UI", sans-serif; }
body.pp-account-v6 .select2-container--open .select2-dropdown--above { margin-top: 0; margin-bottom: 6px; }
body.pp-account-v6 .select2-dropdown .select2-search--dropdown { padding: 4px 4px 8px; }
body.pp-account-v6 .select2-dropdown .select2-search__field { width: 100% !important; min-height: 40px !important; padding: 0 14px !important; border: 1px solid rgba(17, 17, 17, 0.16) !important; border-radius: 12px !important; background: #fff !important; color: #111 !important; font-family: inherit !important; font-size: 14px !important; outline: none !important; box-shadow: none !important; }
body.pp-account-v6 .select2-dropdown .select2-search__field:focus { border-color: #004f42 !important; box-shadow: 0 0 0 4px rgba(0, 79, 66, 0.12) !important; }
body.pp-account-v6 .select2-dropdown .select2-results > .select2-results__options { max-height: 264px; padding: 0 2px; scrollbar-width: thin; }
body.pp-account-v6 .select2-dropdown .select2-results__option { min-height: 40px; padding: 10px 12px !important; margin: 1px 0; border-radius: 10px; font-size: 15px; line-height: 1.3; color: #111 !important; background: transparent !important; transition: background-color 120ms cubic-bezier(0.2, 0.7, 0.2, 1); }
body.pp-account-v6 .select2-dropdown .select2-results__option--highlighted[aria-selected], body.pp-account-v6 .select2-dropdown .select2-results__option--highlighted[data-selected], body.pp-account-v6 .select2-dropdown .select2-results__option--highlighted { background: rgba(255, 255, 255, 0.9) !important; color: #111 !important; }
body.pp-account-v6 .select2-dropdown .select2-results__option[aria-selected="true"], body.pp-account-v6 .select2-dropdown .select2-results__option[data-selected="true"], body.pp-account-v6 .select2-dropdown .select2-results__option--selected { background: #111 !important; color: #fff !important; font-weight: 600; }
body.pp-account-v6 .select2-dropdown .select2-results__option--highlighted[aria-selected="true"], body.pp-account-v6 .select2-dropdown .select2-results__option--highlighted[data-selected="true"] { background: #004f42 !important; color: #fff !important; }
body.pp-account-v6 .select2-dropdown .select2-results__message { color: #5f5f58; font-size: 14px; padding: 10px 12px; }
body.pp-account-v6 .select2-container--focus .select2-selection--single, body.pp-account-v6 .select2-container--open .select2-selection--single { border-color: #004f42 !important; box-shadow: 0 0 0 4px rgba(0, 79, 66, 0.12) !important; }

/* ---- Reveal (as on the homepage) ------------------------------------------------------ */
.pp7-js [data-pp-reveal] { opacity: 0; transform: translateY(14px); transition: opacity 640ms var(--ease), transform 640ms var(--ease); }
.pp7-js [data-pp-reveal].is-in { opacity: 1; transform: none; }
.pp7-js .pp7-grid > [data-pp-reveal]:nth-child(2) { transition-delay: 60ms; } .pp7-js .pp7-grid > [data-pp-reveal]:nth-child(3) { transition-delay: 120ms; }
.pp7-js .pp7-grid > [data-pp-reveal]:nth-child(4) { transition-delay: 160ms; } .pp7-js .pp7-grid > [data-pp-reveal]:nth-child(5) { transition-delay: 200ms; }

/* ---- Tile → page: the tile grows into the page and back --------------------------------- */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 260ms; }
::view-transition-group(*) { animation-duration: 420ms; animation-timing-function: cubic-bezier(0.2, 0.7, 0.2, 1); }

/* ---- Preferences ------------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  .pp7-js [data-pp-reveal] { opacity: 1; transform: none; transition: none; }
  .pp7-ring__val { transition: none; }
  .pp7-hrow__panel { transition: none; }
  .pp7-sheet__panel, .pp7-sheet__scrim { transition: opacity 200ms ease; }
}
@media (prefers-reduced-transparency: reduce) {
  .pp7-glass, .pp7-strip.is-stuck .pp7-strip__list { background: #fff; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .pp7-sheet__panel { background: var(--paper); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .pp7-sheet__scrim { -webkit-backdrop-filter: none; backdrop-filter: none; }
}
@media (prefers-contrast: more) {
  .pp7-tile, .pp7-surface { border: 1px solid var(--line-strong); }
  .pp7-glass { background: #fff; border-color: var(--line-strong); }
}

/* ---- Widths ------------------------------------------------------------------------------ */
@media (max-width: 1080px) {
  .pp7-tile--cashback { grid-column: span 6; grid-row: span 1; }
  .pp7-tile--latest   { grid-column: span 6; }
  .pp7-tile--refer, .pp7-tile--subs { grid-column: span 6; }
  .pp7-tile--history, .pp7-tile--address, .pp7-tile--details, .pp7-tile--certs { grid-column: span 6; }
  .pp7-grid:not(:has(.pp7-tile--cashback)) .pp7-tile--latest { grid-column: span 12; }
}
@media (max-width: 760px) {
  .pp7-wrap { padding: 0 16px; }
  .pp7-band { padding: 26px 0 62px; }
  .pp7-band__inner { flex-direction: column; align-items: flex-start; gap: 14px; }
  .pp7-band__meta { align-items: flex-start; text-align: left; white-space: normal; }
  .pp7-strip { margin-top: -26px; }
  .pp7-strip .pp7-wrap { padding: 0 10px; }
  .pp7-strip__list { padding: 5px; scroll-snap-type: x mandatory; scroll-padding: 5px; }
  .pp7-strip__item--end { margin-left: 4px; }
  .pp7-bench { padding: 12px 0 72px; }
  .pp7-grid { grid-template-columns: 1fr; gap: 12px; }
  .pp7-grid > .pp7-tile { grid-column: auto !important; grid-row: auto !important; }
  .pp7-tile { padding: 20px 18px 20px; border-radius: var(--r-lg); }
  .pp7-cash__amount { font-size: 48px; }
  .pp7-ring { width: 96px; height: 96px; padding-top: 8px; } .pp7-ring__num { font-size: 26px; } .pp7-ring__unit { margin-top: 2px; font-size: 10px; }
  .pp7-track__name { font-size: 11px; }
  .pp7-hrow__btn { grid-template-columns: auto 1fr auto auto; gap: 10px; font-size: 14px; }
  .pp7-cash__row.has-timer { grid-template-columns: 1fr auto auto; grid-template-areas: "from state amt" "timer timer timer"; row-gap: 6px; }
  .pp7-cash__row.has-timer .pp7-cash__row-from { grid-area: from; } .pp7-cash__row.has-timer .pp7-cash__row-state { grid-area: state; } .pp7-cash__row.has-timer .pp7-cash__row-amt { grid-area: amt; }
  .pp7-cash__row.has-timer .pp7-timer { grid-area: timer; width: 100%; }
  .pp7-timer__track { flex: 1; width: auto; }
  .pp7-timer__days { min-width: 0; }
  .pp7-timer__days::after { content: " left"; font-weight: 500; }
  .pp7-timer::after, .pp7-timer::before { display: none; }
  .pp7-tile__foot--actions .pp7-btn--ink { margin-left: 0; }
  .pp7-tile--cashback .pp7-tile__foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__summary { grid-template-columns: minmax(0, 1fr) auto; padding: 20px 18px 18px; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__amount { font-size: 44px; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__how { flex-direction: column; align-items: flex-start; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "from state amount" "date date expires" "timer timer timer"; row-gap: 6px; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.has-timer td:nth-child(5) { display: contents; }
  .pp7 .pp7-endpoint--cashback .autoimmune-cashback__history tr.has-timer .pp7-timer { width: 100%; }
  .pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__row { flex-direction: column; }
  .pp7-friend__btn { grid-template-columns: auto 1fr auto auto; grid-template-areas: "disc body amt chev" "disc pill pill pill"; row-gap: 6px; }
  .pp7-friend__disc { grid-area: disc; } .pp7-friend__body { grid-area: body; } .pp7-friend__amt { grid-area: amt; } .pp7-friend__chev { grid-area: chev; } .pp7-friend__btn .pp7-pill { grid-area: pill; justify-self: start; }
  .pp7 .pp7-origin__head { flex-wrap: wrap; }
  .pp7 .pp7-endpoint--refer-a-friend .autoimmune-referral__stats { grid-template-columns: 1fr; gap: 8px; }
  .pp7-tile--cashback .pp7-tile__foot .pp7-btn { white-space: nowrap; }
  .pp7-item__coa em { display: none; }
  .pp7-item__coa { padding: 8px 12px; font-size: 12px; }
  .pp7-hrow__date { display: none; }
  .pp7-addr, .pp7-certs, .pp7-stats { grid-template-columns: 1fr; }
  .pp7-stats { grid-template-columns: repeat(3, 1fr); gap: 8px; } .pp7-stats dd { font-size: 20px; }
  .pp7-surface { padding: 20px 16px; border-radius: var(--r-lg); }
  .pp7 .woocommerce-Addresses, .pp7 .woocommerce-customer-details .woocommerce-columns, .pp7-login .u-columns { grid-template-columns: 1fr; }
  .pp7 .form-row-first, .pp7 .form-row-last { width: 100%; float: none; }
  .pp7-sheet__panel { width: 100%; border-radius: 22px 22px 0 0; }
  .pp7-sheet__head { padding: 4px 14px 10px 20px; } .pp7-sheet__body { padding: 4px 20px 28px; }
  .pp7-endpoint table.shop_table thead { display: none; }
  .pp7-endpoint table.shop_table tr { display: block; padding: 6px 0; }
  .pp7-endpoint table.shop_table td { display: flex; justify-content: space-between; gap: 12px; border-top: 0; padding: 8px 14px; }
  .pp7-endpoint table.shop_table td::before { content: attr(data-title); color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; }
  .pp7-endpoint table.shop_table tr + tr { border-top: 1px solid rgba(17, 17, 17, 0.08); }
}
