/* Samadhi Supporters — module styles. Self-contained: all colours resolve from
   vars scoped to .sup, so it drops into the live supporter page's palette.
   Mirrors the events booking module (booking-inline.css). */
.sup{
  --orange:#c46a26; --orange-dark:#a2551d; --orange-tint:#fbeee0;
  --cream:#faf8f4; --cream-deep:#f0eee9; --border:#e3e0d8; --border-soft:#eeece6;
  --ink:#33312e; --ink-soft:#615c53; --ink-faint:#948d80; --paper:#ffffff;
  --ok:oklch(0.55 0.12 150); --ok-tint:oklch(0.95 0.03 150);
  --low:oklch(0.62 0.14 70); --low-tint:oklch(0.96 0.04 70);
  --full:oklch(0.5 0.1 25); --full-tint:oklch(0.95 0.03 25);
  --radius:22px;
  --shadow-card:0 1px 2px rgba(51,49,46,.04),0 8px 24px -12px rgba(51,49,46,.12);
  color:var(--ink);font-family:'Mulish',-apple-system,BlinkMacSystemFont,sans-serif;text-align:left;container-type:inline-size;
}
.sup *{box-sizing:border-box;}

/* ── interval toggle ── */
.sup-toggle-row{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:26px;}
.sup-seg{display:inline-flex;background:var(--cream);border:1.5px solid var(--border);border-radius:999px;padding:5px;gap:3px;position:relative;}
.sup-seg button{border:none;background:transparent;padding:11px 26px;border-radius:999px;font-weight:800;font-size:15px;cursor:pointer;color:var(--ink-soft);transition:color .15s;font-family:inherit;position:relative;z-index:1;display:flex;align-items:center;gap:8px;}
.sup-seg button.on{color:#fff;}
.sup-seg .thumb{position:absolute;top:5px;bottom:5px;border-radius:999px;background:var(--ink);box-shadow:0 3px 10px rgba(51,49,46,.25);transition:left .24s cubic-bezier(.4,0,.2,1),width .24s cubic-bezier(.4,0,.2,1);z-index:0;}
.sup-save{font-size:11px;font-weight:800;letter-spacing:.03em;color:var(--ok);background:var(--ok-tint);padding:3px 9px;border-radius:999px;}
.sup-toggle-note{font-size:13px;color:var(--ink-faint);text-align:center;}

/* ── tier grid ── */
.sup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;}
@container (max-width:760px){
  .sup-grid{grid-template-columns:1fr;gap:12px;}
  .sup-card{padding:18px 18px 18px;}
  .sup-card:hover{transform:none;}
  .sup-amt{margin-top:8px;}
  .sup-amt .num{font-size:32px;}
  .sup-amt-sub{margin-top:3px;min-height:0;}
  .sup-gift{margin-top:11px;padding:10px 12px;font-size:12.5px;}
  .sup-spacer{display:none;}
  .sup-more{margin-top:12px;padding-top:12px;}
  .sup-more .hint{margin-bottom:9px;}
  .sup-btn{margin-top:14px;min-height:46px;}
  .sup-flag{top:-11px;}
}

.sup-card{position:relative;background:var(--paper);border:2px solid var(--border);border-radius:var(--radius);padding:26px 24px 24px;display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:transform .14s,box-shadow .14s,border-color .14s;}
.sup-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px -12px rgba(51,49,46,.28);}
.sup-card.popular{border-color:var(--orange);}
.sup-card.selected{border-color:var(--orange);background:linear-gradient(180deg,var(--orange-tint) 0%,var(--paper) 46%);box-shadow:0 14px 36px -14px rgba(196,106,38,.5);}
.sup-card.anchor{background:linear-gradient(180deg,#faf6f0 0%,var(--paper) 40%);}

.sup-flag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-size:11.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:6px 15px;border-radius:999px;box-shadow:0 6px 16px -4px rgba(196,106,38,.6);white-space:nowrap;}

.sup-tier-name{font-size:18px;font-weight:900;letter-spacing:-.01em;}
.sup-amt{display:flex;align-items:baseline;gap:4px;margin-top:12px;}
.sup-amt .num{font-size:42px;font-weight:900;letter-spacing:-.03em;line-height:1;}
.sup-amt .per{font-size:15px;font-weight:700;color:var(--ink-soft);}
.sup-amt-sub{font-size:13px;color:var(--ink-faint);font-weight:600;margin-top:6px;min-height:18px;}

.sup-gift{margin-top:16px;background:var(--cream);border:1px solid var(--border-soft);border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.5;color:var(--ink-soft);}
.sup-gift b{color:var(--orange-dark);font-weight:900;white-space:nowrap;}
.sup-card.selected .sup-gift{background:#fff;}

.sup-spacer{flex:1;min-height:14px;}

/* ── bodhi give-more ── */
.sup-more{margin-top:16px;border-top:1px dashed var(--border);padding-top:16px;}
.sup-more .hint{font-size:12.5px;color:var(--ink-soft);line-height:1.5;margin-bottom:12px;}
.sup-more-field{display:flex;align-items:center;gap:8px;border:1.5px solid var(--border);border-radius:12px;padding:10px 14px;background:#fff;transition:border-color .12s;}
.sup-more-field:focus-within{border-color:var(--orange);}
.sup-more-field span{font-weight:900;font-size:22px;line-height:1;color:var(--ink);}
.sup-more-field input{border:none;margin:0;padding:0;font-size:22px;font-weight:900;line-height:1;width:100%;background:transparent;color:var(--ink);font-family:inherit;-moz-appearance:textfield;}
.sup-more-field input::-webkit-outer-spin-button,.sup-more-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.sup-more-field input:focus{outline:none;}
.sup-more-field .per{font-size:14px;font-weight:700;color:var(--ink-soft);white-space:nowrap;}
.sup-slider{width:100%;margin-top:14px;accent-color:var(--orange);}
.sup-ct-slider{display:block;width:100%;margin-top:10px;}
.sup-ct-slider .sup-slider{margin-top:0;}
.sup-ct-slider .amt{display:block;font-size:12.5px;font-weight:800;color:var(--orange-dark);margin-top:4px;}
.sup-slider-ends{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-faint);font-weight:700;margin-top:2px;}

.sup-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:14px 22px;font-weight:800;font-size:15px;cursor:pointer;min-height:50px;width:100%;margin-top:20px;transition:transform .1s,box-shadow .12s,background .12s;font-family:inherit;text-decoration:none;}
.sup-btn.accent{background:var(--orange);color:#fff;box-shadow:0 8px 20px -6px rgba(196,106,38,.5);}
.sup-btn.accent:hover{background:var(--orange-dark);transform:translateY(-1px);}
.sup-btn.dark{background:var(--ink);color:#fff;}
.sup-btn.dark:hover{background:#221f1c;transform:translateY(-1px);}
.sup-btn.ghost{background:var(--paper);color:var(--ink);border:1.5px solid var(--border);}
.sup-btn.ghost:hover{border-color:var(--ink-faint);}
.sup-btn.text{background:none;color:var(--orange-dark);min-height:0;width:auto;margin:0;padding:6px 2px;text-decoration:underline;font-weight:700;}
.sup-btn:disabled{opacity:.5;cursor:not-allowed;}
.sup-btn.sm{min-height:42px;padding:10px 18px;font-size:14px;width:auto;margin-top:0;}

.sup-reassure{text-align:center;font-size:14px;color:var(--ink-soft);margin-top:22px;display:flex;align-items:center;justify-content:center;gap:8px;}
.sup-reassure svg{color:var(--ok);flex:none;}

/* ── inline subscribe flow (Screen B) ── shares .sup vars ── */
.sup-flow{background:var(--paper);border:1.5px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:0 1px 2px rgba(51,49,46,.04),0 24px 60px -28px rgba(51,49,46,.35);scroll-margin-top:90px;margin-top:8px;}
.sup-flow-head{padding:22px 26px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,var(--orange-tint) 0%,#fffdf9 72%);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
.sup-flow-head .t{font-size:20px;font-weight:900;letter-spacing:-.015em;}
.sup-flow-head .s{font-size:13.5px;color:var(--ink-soft);font-weight:600;margin-top:3px;}
.sup-flow-body{padding:26px;}
@container (max-width:560px){.sup-flow-body{padding:20px;}}

.sup-h1{font-size:23px;font-weight:900;letter-spacing:-.015em;margin:0 0 6px;line-height:1.15;}
.sup-lead{color:var(--ink-soft);font-size:15px;line-height:1.55;margin-bottom:18px;}

/* stepper (same shape as booking) */
.sup-stepper{display:flex;align-items:flex-start;margin-bottom:26px;}
.sup-step{flex:1;text-align:center;position:relative;}
.sup-step .dot{width:32px;height:32px;border-radius:50%;background:var(--border);color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;position:relative;z-index:2;}
.sup-step.done .dot,.sup-step.active .dot{background:var(--orange);color:#fff;box-shadow:0 3px 10px rgba(196,106,38,.35);}
.sup-step .lbl{display:block;margin-top:9px;font-size:12.5px;font-weight:700;color:var(--ink-faint);}
.sup-step.active .lbl{color:var(--orange-dark);}
.sup-step.done .lbl{color:var(--ink-soft);}
.sup-step::before{content:'';position:absolute;top:16px;left:-50%;width:100%;height:3px;background:var(--border);z-index:1;border-radius:3px;}
.sup-step:first-child::before{display:none;}
.sup-step.done::before{background:var(--orange);}

/* gift summary block */
.sup-gift-summary{background:var(--cream-deep);border:1px solid var(--border-soft);border-radius:18px;padding:20px 22px;}
.sup-gift-summary .row{display:flex;justify-content:space-between;gap:14px;font-size:15px;color:var(--ink-soft);padding:6px 0;}
.sup-gift-summary .row .k{font-weight:700;color:var(--ink);}
.sup-gift-summary .row.big{align-items:baseline;}
.sup-gift-summary .row.big .amt{font-size:26px;font-weight:900;color:var(--ink);letter-spacing:-.02em;}
.sup-gift-summary .row.big .amt small{font-size:14px;font-weight:700;color:var(--ink-soft);}
.sup-gift-summary .ga{border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-size:14px;color:var(--ink-soft);}
.sup-gift-summary .ga b{color:var(--orange-dark);}

.sup-alert{background:var(--cream);border:1.5px solid var(--border);border-radius:18px;padding:16px 20px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.sup-alert b{color:var(--ink);}

/* fields */
.sup-field{margin-bottom:16px;}
.sup-field label{display:block;font-weight:700;font-size:13.5px;margin-bottom:6px;}
.sup-field .req{color:var(--orange-dark);}
.sup-field input{width:100%;border:1.5px solid var(--border);border-radius:14px;padding:13px 15px;font-size:15.5px;font-family:inherit;color:var(--ink);background:var(--paper);transition:border-color .12s;}
.sup-field input:focus{border-color:var(--orange);outline:none;}
.sup-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;}
@container (max-width:560px){.sup-grid2{grid-template-columns:1fr;}}

.sup-block{background:var(--cream-deep);border-radius:18px;padding:20px 22px;margin:16px 0;}
.sup-block h3{font-size:15px;margin:0 0 8px;font-weight:900;}
.sup-block p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin:0;}
.sup-check{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;margin-top:14px;cursor:pointer;background:var(--paper);}
.sup-check.on{border-color:var(--orange);background:var(--orange-tint);}
.sup-check input{margin-top:3px;width:19px;height:19px;accent-color:var(--orange);flex:none;}
.sup-check .t{font-size:13px;line-height:1.55;color:var(--ink-soft);}
.sup-check .t b{color:var(--ink);}

/* stripe mount region (mock) */
.sup-pay-express{display:flex;gap:10px;margin-bottom:14px;}
.sup-pay-express button{flex:1;border:none;border-radius:12px;padding:14px;font-weight:800;font-size:15px;background:#000;color:#fff;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:7px;}
.sup-pay-divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin:14px 0;}
.sup-pay-divider::before,.sup-pay-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.sup-card-panel{border:1.5px solid var(--border);border-radius:16px;padding:18px;background:var(--cream);}
.sup-card-panel .stripe-note{font-size:11px;color:var(--ink-faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.01em;text-align:center;padding:6px 0 12px;}
.sup-card-panel .crow{display:flex;gap:10px;margin-bottom:10px;}
.sup-card-panel input{flex:1;border:1.5px solid var(--border);border-radius:12px;padding:12px 13px;font-size:15px;background:#fff;font-family:inherit;color:var(--ink);}
.sup-card-panel input:focus{outline:none;border-color:var(--orange);}
.sup-skel{height:52px;border-radius:12px;background:linear-gradient(100deg,var(--cream-deep) 30%,#fff 50%,var(--cream-deep) 70%);background-size:200% 100%;animation:supShimmer 1.3s infinite;margin-bottom:10px;}
@keyframes supShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sup-pay-error{background:var(--full-tint);border:1.5px solid var(--full);border-radius:16px;padding:16px 18px;margin-bottom:16px;display:flex;gap:12px;align-items:flex-start;}
.sup-pay-error .ico{flex:none;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--full);display:flex;align-items:center;justify-content:center;}
.sup-pay-error .nt{font-weight:800;color:var(--full);font-size:14.5px;margin-bottom:2px;}
.sup-pay-error .bd{font-size:13.5px;color:var(--full);line-height:1.5;opacity:.9;}

/* M256. This row is space-between, so ANY third child is handed only the width the Back and
   Continue buttons leave over. A validation message put here measured 78px on a 402pt iPhone:
   31 words at 1.8 words a line, a vertical ribbon nobody could read. The message has been moved
   out of the row; these two rules mean the row cannot do it to the next one either. */
.sup-actions{display:flex;justify-content:space-between;align-items:center;margin-top:26px;gap:12px;flex-wrap:wrap;}
.sup-actions>.sup-alert{flex:1 0 100%;margin:12px 0 0;}
.sup-privacy{font-size:12.5px;color:var(--ink-faint);line-height:1.55;margin:16px 0;}

/* confirmation */
.sup-conf-icon{width:72px;height:72px;border-radius:50%;background:var(--ok-tint);color:var(--ok);display:flex;align-items:center;justify-content:center;font-size:34px;margin-bottom:18px;}
.sup-conf-h{font-size:24px;font-weight:900;letter-spacing:-.02em;line-height:1.15;margin-bottom:6px;}
.sup-conf-thanks{font-size:17px;color:var(--orange-dark);font-weight:800;margin-bottom:14px;}
.sup-conf-body{font-size:15.5px;color:var(--ink-soft);line-height:1.62;margin-bottom:18px;}
.sup-next{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:11px;}
.sup-next li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink-soft);line-height:1.5;}
.sup-next li::before{content:'';flex:none;width:22px;height:22px;border-radius:50%;background:var(--ok-tint);margin-top:1px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23347a4e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-size:13px;background-repeat:no-repeat;background-position:center;}

/* ── Screen C: membership ── */
.sup-mem{background:var(--paper);border:1px solid var(--border);border-radius:24px;overflow:hidden;box-shadow:var(--shadow-card);}
.sup-mem-head{padding:24px 26px;background:linear-gradient(135deg,var(--orange-tint) 0%,#fffdf9 74%);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;}
.sup-mem-head .tier{font-size:22px;font-weight:900;letter-spacing:-.015em;}
.sup-mem-head .amt{font-size:15px;color:var(--ink-soft);font-weight:700;margin-top:4px;}
.sup-mem-head .amt b{color:var(--ink);font-size:18px;}
.sup-status{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;padding:7px 14px;border-radius:999px;letter-spacing:.01em;}
.sup-status .dot{width:8px;height:8px;border-radius:50%;background:currentColor;}
.sup-status.active{background:var(--ok-tint);color:var(--ok);}
.sup-status.paused{background:var(--low-tint);color:var(--low);}
.sup-status.past_due{background:var(--full-tint);color:var(--full);}

.sup-mem-body{padding:24px 26px;}
@container (max-width:560px){.sup-mem-head,.sup-mem-body{padding:20px;}}

.sup-notice{border-radius:16px;padding:16px 18px;margin-bottom:22px;display:flex;gap:13px;align-items:flex-start;font-size:14px;line-height:1.55;}
.sup-notice .ico{flex:none;width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#fff;}
.sup-notice .nt{font-weight:800;font-size:15px;margin-bottom:2px;}
.sup-notice.paused{background:var(--low-tint);color:var(--low);}
.sup-notice.past_due{background:var(--full-tint);color:var(--full);}
.sup-notice .resume{margin-top:10px;}

.sup-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px;}
@container (max-width:560px){.sup-facts{grid-template-columns:1fr 1fr;}}
.sup-fact{background:var(--cream);border:1px solid var(--border-soft);border-radius:14px;padding:14px 16px;}
.sup-fact .k{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);}
.sup-fact .v{font-size:15.5px;font-weight:800;margin-top:5px;}
.sup-fact .v.on{color:var(--ok);}
.sup-fact .v.off{color:var(--ink-faint);}

.sup-mem-actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.sup-mem-actions .sup-btn{width:auto;margin-top:0;flex:1;min-width:150px;}
@container (max-width:560px){.sup-mem-actions .sup-btn{flex:1 1 100%;}}

.sup-cancel-line{font-size:13.5px;color:var(--ink-soft);line-height:1.6;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft);}
.sup-cancel-line b{color:var(--ink);}
.sup-cancel-line a{font-weight:800;}

/* expandable panels inside membership */
.sup-panel{border:1.5px solid var(--orange);background:var(--orange-tint);border-radius:18px;padding:20px 22px;margin-top:16px;}
.sup-panel h3{font-size:16px;font-weight:900;margin:0 0 6px;}
.sup-panel p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin:0 0 14px;}
.sup-pause-opts{display:flex;gap:10px;flex-wrap:wrap;}
.sup-pause-opts button{flex:1;min-width:120px;border:2px solid var(--border);background:#fff;border-radius:14px;padding:16px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .12s,transform .1s;}
.sup-pause-opts button:hover{border-color:var(--orange);transform:translateY(-1px);}
.sup-pause-pick{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:16px 18px;}
.sup-pause-val{display:flex;flex-direction:column;gap:2px;margin-bottom:4px;}
.sup-pause-val .n{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--ink);}
.sup-pause-val .sub{font-size:13px;font-weight:700;color:var(--orange-dark);}
.sup-pause-pick .sup-slider{margin-top:14px;}

/* payment history */
.sup-history{margin-top:26px;}
.sup-history h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-bottom:12px;}
.sup-htable{border:1px solid var(--border);border-radius:16px;overflow:hidden;}
.sup-hrow{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-soft);font-size:14px;}
.sup-hrow:last-child{border-bottom:none;}
.sup-hrow.head{background:var(--cream);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:11px 18px;}
.sup-hrow .hdate{font-weight:700;color:var(--ink);}
.sup-hrow .hamt{font-weight:800;}
.sup-hrow .hga{font-size:12px;font-weight:800;}
.sup-hrow .hga.on{color:var(--ok);}
.sup-hrow .hga.off{color:var(--ink-faint);}
.sup-hrow .hrec a{font-weight:800;font-size:13.5px;color:var(--orange-dark);text-decoration:none;white-space:nowrap;}
.sup-hrow .hrec a:hover{text-decoration:underline;}
@container (max-width:560px){.sup-hrow{grid-template-columns:1fr auto;row-gap:4px;}.sup-hrow .hga{grid-column:1;}.sup-hrow .hrec{grid-column:2;grid-row:1/3;align-self:center;}.sup-hrow.head{display:none;}}

.sup-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:13px 22px;border-radius:999px;font-size:14px;font-weight:700;box-shadow:0 12px 30px -8px rgba(51,49,46,.5);z-index:400;display:flex;gap:9px;align-items:center;}

/* ── receipt modal ── */
.sup-modal-scrim{position:fixed;inset:0;z-index:500;background:rgba(35,31,28,.55);display:flex;align-items:center;justify-content:center;padding:20px;}
.sup-modal{background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;overflow:auto;position:relative;box-shadow:0 30px 80px -20px rgba(0,0,0,.5);}
/* 44px, and padding:0 explicitly: hello-elementor's reset.css puts a bare `button` rule on
   the page (padding:.5rem 1rem;border:1px solid #c36) that is LESS specific than this class and
   loses on every property we set -- except the ones we don't set. We never set padding, so its
   .5rem 1rem survived inside a box already fixed at width/height, squeezing the 18px x icon down
   to a sliver -- the "tiny dot" on mobile. Same fix pattern as .se-head-toggle in se-chrome. */
.sup-modal-close{position:absolute;top:10px;right:10px;width:44px;height:44px;padding:0;border-radius:50%;border:1.5px solid var(--border);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);z-index:2;}
.sup-modal-close:hover{border-color:var(--ink-faint);color:var(--ink);}
.sup-receipt{padding:34px 36px 20px;}
.rc-head{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:2px solid var(--ink);}
.rc-logo{height:38px;width:auto;}
.rc-org-name{font-weight:900;font-size:17px;letter-spacing:-.01em;}
.rc-org-meta{font-size:11.5px;color:var(--ink-soft);line-height:1.5;margin-top:3px;}
.rc-title{font-size:12.5px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--orange-dark);margin:22px 0 18px;}
.rc-meta-row{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px;}
.rc-meta-row .k,.rc-to .k{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);margin-bottom:3px;}
.rc-meta-row .v{font-size:14px;font-weight:800;}
.rc-to{margin-bottom:22px;}
.rc-donor{font-size:15.5px;font-weight:800;margin-top:2px;}
.rc-donor-addr{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.rc-table{border-top:1px solid var(--border);}
.rc-trow{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-soft);font-size:14px;color:var(--ink-soft);}
.rc-trow span:last-child{font-weight:700;white-space:nowrap;color:var(--ink);}
.rc-thead{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding-top:10px;}
.rc-thead span:last-child{font-weight:800;color:var(--ink-faint);}
.rc-ga span{color:var(--ok)!important;}
.rc-ga-block{background:var(--cream);border:1px solid var(--border-soft);border-radius:14px;padding:14px 16px;margin-top:18px;}
.rc-ga-head{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--orange-dark);margin-bottom:6px;}
.rc-ga-block p{font-size:12.5px;color:var(--ink-soft);line-height:1.6;margin:0;}
.rc-ga-block p b{color:var(--ink);}
.rc-ga-block .rc-tax{font-size:11px;color:var(--ink-faint);margin-top:8px;}
.rc-total{border-bottom:none;border-top:2px solid var(--ink);margin-top:2px;font-size:16px;font-weight:900;color:var(--ink);}
.rc-total span:last-child{font-weight:900;}
.rc-note{font-size:11.5px;color:var(--ink-faint);line-height:1.55;margin-top:14px;}
.rc-thanks{font-size:14px;color:var(--ink);line-height:1.65;margin-top:16px;font-style:italic;}
.rc-foot{font-size:10.5px;color:var(--ink-faint);line-height:1.6;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-soft);text-align:center;}
.sup-receipt-actions{display:flex;gap:10px;justify-content:flex-end;padding:4px 36px 26px;}
.rc-link{background:none;border:none;padding:0;font-family:inherit;font-weight:800;font-size:13.5px;color:var(--orange-dark);cursor:pointer;white-space:nowrap;}
.rc-link:hover{text-decoration:underline;}
@media(max-width:560px){.sup-receipt{padding:24px 20px 16px;}.sup-receipt-actions{padding:4px 20px 20px;}}
@media print{
  body.printing-receipt{background:#fff!important;}
  body.printing-receipt *{visibility:hidden!important;}
  /* The receipt was absolutely positioned inside .sup-modal, which keeps its screen-only
     max-height:90vh/overflow:auto in print too -- so anything below one clipped box vanished,
     leaving a mostly blank page with a cut-off fragment at the bottom. Take the scrim and modal
     out of the way entirely (static, unclipped, unstyled) so the receipt flows in normal
     document layout and paginates like any other printed content. */
  body.printing-receipt .sup-modal-scrim,body.printing-receipt .sup-modal{position:static!important;inset:auto!important;overflow:visible!important;max-height:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;border-radius:0!important;display:block!important;}
  body.printing-receipt #sup-receipt-doc,body.printing-receipt #sup-receipt-doc *{visibility:visible!important;}
  body.printing-receipt #sup-receipt-doc{position:static!important;width:100%!important;padding:0!important;}
  body.printing-receipt .sup-receipt-actions{display:none!important;}
  /* That static/unclipped fix (above) put the scrim+modal back into NORMAL DOCUMENT FLOW, and
     visibility:hidden does NOT remove an element from flow -- it just paints it blank, box and
     all. So the site's own header and footer (both full of nav/social/footer-menu markup) still
     occupied their full rendered height either side of the receipt, in document order. The
     result: a blank page 1 until the header's height ran out and the receipt started partway
     down, then the footer's height ran on into a wholly blank trailing page after the receipt
     finished. Confirmed against the real deployed chrome+account markup in a standalone harness:
     2 pages (blank gap + blank trailing) before this rule, 1 page after it, for both a booking
     and a Gift Aid donation receipt. Collapsing the surrounding chrome with display:none (which
     DOES remove it from flow, unlike visibility) leaves the receipt as the only thing that
     contributes height to the printed document. */
  body.printing-receipt .se-chrome,
  body.printing-receipt .page-header,
  body.printing-receipt .se-anav,
  body.printing-receipt .se-anav-tabbar{display:none!important;}
  body.printing-receipt .proto-bar{display:none!important;}
}
