/* ── THEMEABLE COLOUR LAYER (2.99.68) ────────────────────────────────
   Every colour below is the value this stylesheet ALREADY used; the
   variables exist so a dark theme can retint the form by redefining a
   dozen names instead of shadowing 254 rules. With no override the
   computed output is identical to 2.99.67 — proven by diffing computed
   styles in a browser, not by eye.

   ⚠️ The substitution was PROPERTY-AWARE. #1a3d2e was text 39 times,
   border 12 and background 10; collapsing those into one variable is
   how a dark scheme turns the form into a single flat slab.         */
:root{
  /* ⚠️ :root ONLY. An earlier revision also listed .pfwp-form-wrap and
     .pfwp-form-card here, which meant the CARD re-declared the light
     defaults and defeated any wrapper override — a dark scheme applied
     outside the card was reset the moment it crossed into it. Defaults
     inherit from :root; a wrapper overriding them must be able to win. */

  --pfwp-f-ink:#1a3d2e;
  --pfwp-f-ink-bg:#1a3d2e;
  --pfwp-f-line-strong:#1a3d2e;
  --pfwp-f-line:#e0dbd2;
  --pfwp-f-surface:#ffffff;
  --pfwp-f-on-ink:#ffffff;
  --pfwp-f-tint:#faf8f3;
  --pfwp-f-tint2:#f0ede6;
  --pfwp-f-tint3:#f0f5f2;
  --pfwp-f-tint4:#e8f0ec;
  --pfwp-f-mut:#5a6e64;
  --pfwp-f-faint:#8a9690;
  --pfwp-f-acc:#d4a853;
  --pfwp-f-on-acc:#1a3d2e;
  --pfwp-f-x01:#2a3d33;
  --pfwp-f-x02:#5e4a14;
  --pfwp-f-x03:#666;
  --pfwp-f-x04:#856404;
  --pfwp-f-x05:#8a9e94;
  --pfwp-f-x06:#b5dac5;
  --pfwp-f-x07:#b8d2c2;
  --pfwp-f-x08:#c8d8cf;
  --pfwp-f-x09:#c8e6d9;
  --pfwp-f-x10:#d6e4dc;
  --pfwp-f-x11:#eef5f0;
  --pfwp-f-x12:#f5e6a8;
  --pfwp-f-x13:#f5f3ec;
  --pfwp-f-x14:#f6faf7;
  --pfwp-f-x15:#f8f7f4;
  --pfwp-f-x16:#fef5e0;
  --pfwp-f-x17:#fef9e7;
  --pfwp-f-x18:#fff8e7;

  --pfwp-f-ink-2:#1a2a24;
  --pfwp-f-acc-d:#8a6914;
  --pfwp-f-line-2:#b8c9be;
  --pfwp-f-line-3:#c4bfb4;
  --pfwp-f-line-4:#e8e4db;
  --pfwp-f-line-5:#d4cfc5;
  --pfwp-f-line-6:#d9d4ca;
  --pfwp-f-acc-line:#f0d28e;
  --pfwp-f-err-line:#f5c6c2;
  --pfwp-f-tint-5:#f7f5f0;
  --pfwp-f-tint-6:#f5f2eb;
  --pfwp-f-ok-2:#7bc4a8;
  --pfwp-f-mut-2:#6b7c74;
  --pfwp-f-ink-3:#2d5a45;

  --pfwp-f-acc-hi:#e6bc6a;
  --pfwp-f-ok:#4a9d7c;
  --pfwp-f-ok-bg:#e8f5ee;
  --pfwp-f-err:#c0392b;
  --pfwp-f-err-d:#9e2b25;
  --pfwp-f-err-bg:#fdf0ef;
  --pfwp-f-shadow:rgba(26,61,46,0.1);
  --pfwp-f-shadow-2:rgba(26,61,46,0.08);
  --pfwp-f-shadow-3:rgba(26,61,46,0.2);
}

/* ═══════════════════════════════════════════════
   PayForm WP — Front-End Styles
   Brand: #1a3d2e (green), #d4a853 (gold), #faf8f3 (cream)
   Fonts: Playfair Display (headings), DM Sans (body)
   Prefix: pfwp- (all classes namespaced)
   ═══════════════════════════════════════════════ */

/* ── Reset & Container ────────────────────────── */
.pfwp-form-wrap {
    max-width: 720px;
    margin: 0 auto;
    padding: 0;
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--pfwp-f-ink-2,#1a2a24);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
.pfwp-form-wrap *,
.pfwp-form-wrap *::before,
.pfwp-form-wrap *::after {
    box-sizing: border-box;
}

/* ── Form Card ────────────────────────────────── */
.pfwp-form-card {
    background: var(--pfwp-f-surface,#ffffff);
    border-radius: 16px;
    box-shadow: 0 4px 24px var(--pfwp-f-shadow-2,rgba(26,61,46,0.08)), 0 1px 3px rgba(0,0,0,0.04);
    padding: 40px 36px;
    border: 1px solid rgba(26,61,46,0.06);
}
@media (max-width: 600px) {
    .pfwp-form-card { padding: 28px 20px; border-radius: 12px; }
}

/* ── Form Header ──────────────────────────────── */
.pfwp-form-header {
    text-align: center;
    margin-bottom: 36px;
    padding-bottom: 28px;
    border-bottom: 2px solid var(--pfwp-f-tint2,#f0ede6);
}
.pfwp-form-header .pfwp-badge {
    display: inline-block;
    background: var(--pfwp-f-ok-bg,#e8f5ee);
    color: var(--pfwp-f-ink,#1a3d2e);
    padding: 6px 18px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 14px;
}
.pfwp-form-header h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 8px 0;
    line-height: 1.2;
}
.pfwp-form-header p {
    color: var(--pfwp-f-mut,#5a6e64);
    font-size: 16px;
    margin: 0;
}

/* ── Steps / Progress ─────────────────────────── */
.pfwp-steps {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 32px;
}
.pfwp-step-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--pfwp-f-line-6,#d9d4ca);
    transition: all 0.3s ease;
}
.pfwp-step-dot.active {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    transform: scale(1.3);
}
.pfwp-step-dot.completed {
    background: var(--pfwp-f-acc,#d4a853);
}

/* ── Step Panels ──────────────────────────────── */
.pfwp-step-panel {
    display: none;
    animation: pfwpFadeIn 0.35s ease;
}
.pfwp-step-panel.active {
    display: block;
}
@keyframes pfwpFadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ── Section Titles ───────────────────────────── */
.pfwp-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--pfwp-f-tint2,#f0ede6);
}

/* ── Field Groups ─────────────────────────────── */
.pfwp-field-group {
    margin-bottom: 20px;
}
.pfwp-field-group label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin-bottom: 6px;
}
.pfwp-field-group label .pfwp-required {
    color: var(--pfwp-f-err,#c0392b);
    margin-left: 2px;
}

/* ── Inputs ───────────────────────────────────── */
.pfwp-field-group input[type="text"],
.pfwp-field-group input[type="email"],
.pfwp-field-group input[type="tel"],
.pfwp-field-group input[type="number"],
.pfwp-field-group select,
.pfwp-field-group textarea {
    width: 100%;
    padding: 12px 16px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 10px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    color: var(--pfwp-f-ink-2,#1a2a24);
    background: var(--pfwp-f-tint,#faf8f3);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}
.pfwp-field-group input:focus,
.pfwp-field-group select:focus,
.pfwp-field-group textarea:focus {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    box-shadow: 0 0 0 3px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
    background: var(--pfwp-f-surface,#ffffff);
}
.pfwp-field-group textarea {
    resize: vertical;
    min-height: 90px;
}

/* ── Two-Column Row ───────────────────────────── */
.pfwp-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
@media (max-width: 520px) {
    .pfwp-row { grid-template-columns: 1fr; }
}

/* ── Package / Option Cards ───────────────────── */
.pfwp-options {
    display: grid;
    gap: 12px;
    margin-bottom: 24px;
}
.pfwp-option-card {
    position: relative;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 20px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 12px;
    cursor: pointer;
    background: var(--pfwp-f-tint,#faf8f3);
    transition: all 0.2s ease;
}
.pfwp-option-card:hover {
    border-color: var(--pfwp-f-line-2,#b8c9be);
    background: var(--pfwp-f-tint-6,#f5f2eb);
}
.pfwp-option-card.selected {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-ok-bg,#e8f5ee);
    box-shadow: 0 0 0 3px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
}
.pfwp-option-card input[type="radio"] {
    display: none;
}
.pfwp-option-radio {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid var(--pfwp-f-line-3,#c4bfb4);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}
.pfwp-option-card.selected .pfwp-option-radio {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-ink-bg,#1a3d2e);
}
.pfwp-option-card.selected .pfwp-option-radio::after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--pfwp-f-surface,#ffffff);
}
.pfwp-option-info {
    flex: 1;
}
.pfwp-option-info .pfwp-option-name {
    font-weight: 600;
    font-size: 16px;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-option-info .pfwp-option-desc {
    font-size: 13px;
    color: var(--pfwp-f-mut-2,#6b7c74);
    margin-top: 2px;
}
.pfwp-option-price {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    white-space: nowrap;
}

/* ── Golfer Repeat Sections ───────────────────── */
.pfwp-golfer-section {
    background: var(--pfwp-f-tint-5,#f7f5f0);
    border: 1px solid var(--pfwp-f-line-4,#e8e4db);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 16px;
}
.pfwp-golfer-section h4 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 16px;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 14px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pfwp-golfer-section h4 .pfwp-golfer-num {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    color: var(--pfwp-f-on-ink,#fff);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
}

/* ── Square Card Container ────────────────────── */
#pfwp-card-container {
    min-height: 50px;
    padding: 12px 16px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 10px;
    background: var(--pfwp-f-tint,#faf8f3);
    transition: border-color 0.2s ease;
}
#pfwp-card-container:focus-within {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    box-shadow: 0 0 0 3px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
}
.pfwp-card-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin-bottom: 8px;
}

/* ── Order Summary ────────────────────────────── */
.pfwp-summary {
    background: var(--pfwp-f-tint2,#f0ede6);
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}
.pfwp-summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 0;
    font-size: 15px;
}
.pfwp-summary-row.total {
    border-top: 2px solid var(--pfwp-f-line-5,#d4cfc5);
    margin-top: 8px;
    padding-top: 12px;
    font-weight: 700;
    font-size: 18px;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-summary-row.total .pfwp-summary-amount {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 24px;
    color: var(--pfwp-f-ink,#1a3d2e);
}

/* ── Buttons ──────────────────────────────────── */
.pfwp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    border-radius: 50px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    transition: all 0.25s ease;
    text-decoration: none;
    outline: none;
}
.pfwp-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.pfwp-btn-primary {
    background: var(--pfwp-f-acc,#d4a853);
    color: var(--pfwp-f-on-acc,#1a3d2e);
    width: 100%;
    font-size: 16px;
    padding: 16px 28px;
}
.pfwp-btn-primary:hover:not(:disabled) {
    background: var(--pfwp-f-acc-hi,#e6bc6a);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(212,168,83,0.3);
}
.pfwp-btn-secondary {
    background: transparent;
    color: var(--pfwp-f-ink,#1a3d2e);
    border: 2px solid var(--pfwp-f-line-3,#c4bfb4);
}
.pfwp-btn-secondary:hover {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-tint-5,#f7f5f0);
}
.pfwp-btn-green {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    color: var(--pfwp-f-on-ink,#ffffff);
    width: 100%;
    font-size: 16px;
    padding: 16px 28px;
}
.pfwp-btn-green:hover:not(:disabled) {
    background: var(--pfwp-f-ink-3,#2d5a45);
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(26,61,46,0.25);
}

/* Navigation row */
.pfwp-nav-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 28px;
}
.pfwp-nav-row .pfwp-btn { flex: 1; }

/* ── Status Messages ──────────────────────────── */
.pfwp-message {
    padding: 14px 20px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 20px;
    display: none;
}
.pfwp-message.error {
    background: var(--pfwp-f-err-bg,#fdf0ef);
    color: var(--pfwp-f-err-d,#9e2b25);
    border: 1px solid var(--pfwp-f-err-line,#f5c6c2);
    display: block;
}
.pfwp-message.success {
    background: var(--pfwp-f-ok-bg,#e8f5ee);
    color: var(--pfwp-f-ink,#1a3d2e);
    border: 1px solid var(--pfwp-f-x06,#b5dac5);
    display: block;
}

/* ── Loading Spinner ──────────────────────────── */
.pfwp-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 3px solid var(--pfwp-f-shadow-3,rgba(26,61,46,0.2));
    border-top-color: var(--pfwp-f-line-strong,#1a3d2e);
    border-radius: 50%;
    animation: pfwpSpin 0.6s linear infinite;
}
@keyframes pfwpSpin {
    to { transform: rotate(360deg); }
}

/* ── Success Screen ───────────────────────────── */
.pfwp-success-screen {
    display: none;
    text-align: center;
    padding: 60px 32px;
    position: relative;
    overflow: hidden;
    background: var(--pfwp-f-surface,#ffffff);
    border-radius: 16px;
    box-shadow: 0 4px 24px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
    max-width: 600px;
    margin: 20px auto;
}
.pfwp-success-screen.active {
    display: block;
    animation: pfwpFadeIn 0.5s ease;
}
.pfwp-success-icon {
    width: 90px;
    height: 90px;
    background: linear-gradient(135deg, var(--pfwp-f-x09,#c8e6d9), var(--pfwp-f-ok-bg,#e8f5ee));
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 44px;
    margin-bottom: 24px;
    animation: pfwpBounce 0.6s ease 0.3s both;
}
.pfwp-success-screen h3 {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 30px;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 12px 0;
    line-height: 1.3;
}
.pfwp-success-screen .pfwp-success-subtitle {
    font-size: 18px;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 auto 16px;
    max-width: 500px;
    line-height: 1.5;
}
.pfwp-success-screen .pfwp-success-subtitle strong {
    color: var(--pfwp-f-acc,#d4a853);
}
.pfwp-success-screen p {
    color: var(--pfwp-f-mut,#5a6e64);
    font-size: 15px;
    max-width: 480px;
    margin: 0 auto 12px;
    line-height: 1.6;
}
.pfwp-success-screen .pfwp-success-note {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid var(--pfwp-f-tint4,#e8f0ec);
    font-size: 14px;
    color: var(--pfwp-f-mut,#5a6e64);
}
.pfwp-success-screen .pfwp-success-note strong {
    color: var(--pfwp-f-ink,#1a3d2e);
}

/* Success Action Buttons */
.pfwp-success-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--pfwp-f-tint4,#e8f0ec);
}
.pfwp-success-actions .pfwp-btn-primary {
    background: var(--pfwp-f-acc,#d4a853);
    color: var(--pfwp-f-on-acc,#1a3d2e);
    border: none;
    padding: 14px 28px;
    border-radius: 8px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.pfwp-success-actions .pfwp-btn-primary:hover {
    background: var(--pfwp-f-acc-hi,#e6bc6a);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(212,168,83,0.3);
}
.pfwp-success-actions .pfwp-btn-outline {
    background: transparent;
    color: var(--pfwp-f-ink,#1a3d2e);
    border: 1.5px solid var(--pfwp-f-shadow-3,rgba(26,61,46,0.2));
    padding: 14px 28px;
    border-radius: 8px;
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.pfwp-success-actions .pfwp-btn-outline:hover {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    color: var(--pfwp-f-on-ink,#ffffff);
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    transform: translateY(-2px);
}

/* Golf Celebration Animation */
.pfwp-golf-celebration {
    position: relative;
    height: 160px;
    margin-bottom: 20px;
    overflow: hidden;
}
.pfwp-golf-scene {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pfwp-golf-club {
    font-size: 72px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-80%, -50%) rotate(45deg);
    animation: pfwpSwing 0.8s ease-out forwards;
    z-index: 2;
}
.pfwp-golf-ball {
    font-size: 48px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-20%, -50%);
    opacity: 1;
    animation: pfwpBallFly 0.8s ease-out 0.4s forwards;
    z-index: 3;
}
.pfwp-golf-explosion {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    opacity: 0;
    animation: pfwpExplosionShow 0.3s ease-out 0.5s forwards;
    z-index: 4;
}
.pfwp-spark {
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    opacity: 0;
    animation: pfwpSparkFly 1s ease-out 0.5s forwards;
}
.pfwp-spark:nth-child(1)  { background: var(--pfwp-f-acc,#d4a853); animation-delay: 0.5s; --tx: -60px; --ty: -80px; }
.pfwp-spark:nth-child(2)  { background: var(--pfwp-f-acc-hi,#e6bc6a); animation-delay: 0.55s; --tx: 70px; --ty: -70px; }
.pfwp-spark:nth-child(3)  { background: var(--pfwp-f-ok,#4a9d7c); animation-delay: 0.6s; --tx: -40px; --ty: -100px; }
.pfwp-spark:nth-child(4)  { background: var(--pfwp-f-ok-2,#7bc4a8); animation-delay: 0.65s; --tx: 90px; --ty: -40px; }
.pfwp-spark:nth-child(5)  { background: var(--pfwp-f-acc,#d4a853); animation-delay: 0.55s; --tx: -80px; --ty: -30px; }
.pfwp-spark:nth-child(6)  { background: var(--pfwp-f-surface,#ffffff); animation-delay: 0.6s; --tx: 50px; --ty: -90px; }
.pfwp-spark:nth-child(7)  { background: var(--pfwp-f-acc-hi,#e6bc6a); animation-delay: 0.7s; --tx: -30px; --ty: -60px; width: 8px; height: 8px; }
.pfwp-spark:nth-child(8)  { background: var(--pfwp-f-ok,#4a9d7c); animation-delay: 0.6s; --tx: 60px; --ty: -50px; width: 6px; height: 6px; }
.pfwp-spark:nth-child(9)  { background: var(--pfwp-f-acc,#d4a853); animation-delay: 0.65s; --tx: -70px; --ty: -55px; width: 12px; height: 12px; }
.pfwp-spark:nth-child(10) { background: var(--pfwp-f-ok-2,#7bc4a8); animation-delay: 0.7s; --tx: 40px; --ty: -85px; width: 7px; height: 7px; }
.pfwp-spark:nth-child(11) { background: var(--pfwp-f-surface,#ffffff); animation-delay: 0.55s; --tx: -50px; --ty: -45px; width: 5px; height: 5px; }
.pfwp-spark:nth-child(12) { background: var(--pfwp-f-acc-hi,#e6bc6a); animation-delay: 0.6s; --tx: 80px; --ty: -60px; width: 9px; height: 9px; }

.pfwp-success-content {
    position: relative;
    z-index: 5;
}

@keyframes pfwpSwing {
    0% { transform: translate(-80%, -50%) rotate(45deg); }
    40% { transform: translate(-50%, -50%) rotate(-15deg); }
    60% { transform: translate(-50%, -50%) rotate(-15deg); }
    100% { transform: translate(-60%, -60%) rotate(0deg); opacity: 0.5; }
}
@keyframes pfwpBallFly {
    0% { transform: translate(-20%, -50%) scale(1); opacity: 1; }
    50% { transform: translate(20%, -200%) scale(0.8); opacity: 1; }
    100% { transform: translate(40%, -300%) scale(0.3); opacity: 0; }
}
@keyframes pfwpExplosionShow {
    0% { opacity: 0; }
    100% { opacity: 1; }
}
@keyframes pfwpSparkFly {
    0% { transform: translate(0, 0) scale(0); opacity: 0; }
    20% { opacity: 1; transform: translate(0, 0) scale(1.2); }
    100% { transform: translate(var(--tx), var(--ty)) scale(0); opacity: 0; }
}
@keyframes pfwpBounce {
    0% { transform: scale(0); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* ── Custom Amount Input ──────────────────────── */
.pfwp-amount-input-wrap {
    position: relative;
    margin-bottom: 20px;
}
.pfwp-amount-input-wrap .pfwp-currency-sign {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-amount-input-wrap input {
    width: 100%;
    padding: 16px 16px 16px 40px;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    text-align: center;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 12px;
    background: var(--pfwp-f-tint,#faf8f3);
    outline: none;
}
.pfwp-amount-input-wrap input:focus {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    box-shadow: 0 0 0 3px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
}

/* ── Quick Amount Buttons ─────────────────────── */
.pfwp-quick-amounts {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}
.pfwp-quick-amt {
    flex: 1;
    min-width: 80px;
    padding: 10px 16px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 10px;
    background: var(--pfwp-f-tint,#faf8f3);
    font-family: 'DM Sans', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--pfwp-f-ink,#1a3d2e);
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
}
.pfwp-quick-amt:hover {
    border-color: var(--pfwp-f-line-2,#b8c9be);
}
.pfwp-quick-amt.selected {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    color: var(--pfwp-f-on-ink,#ffffff);
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
}

/* ── Checkbox Row ─────────────────────────────── */
.pfwp-checkbox-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    background: var(--pfwp-f-tint,#faf8f3);
    border: 1px solid var(--pfwp-f-line-4,#e8e4db);
    border-radius: 10px;
    margin-bottom: 20px;
    cursor: pointer;
}
.pfwp-checkbox-row input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-checkbox-row label {
    margin: 0;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-checkbox-row .pfwp-checkbox-price {
    margin-left: auto;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
}

/* v2.7.3: Consent block — Privacy Policy + marketing opt-in ── */
.pfwp-consent-block {
    margin-top: 20px;
    padding: 16px 18px;
    background: var(--pfwp-f-x13,#f5f3ec);
    border: 1px solid var(--pfwp-f-acc,#d4a853);
    border-radius: 10px;
}
.pfwp-consent-block .pfwp-marketing-row {
    background: transparent;
    border: none;
    padding: 0;
    margin-bottom: 10px;
    align-items: flex-start;
}
.pfwp-consent-block .pfwp-marketing-row label {
    font-weight: 400;
    line-height: 1.4;
}
.pfwp-consent-block .pfwp-consent-hint {
    display: block;
    font-size: 12px;
    color: var(--pfwp-f-mut,#5a6e64);
    margin-top: 4px;
    font-style: italic;
    font-weight: 400;
}
.pfwp-consent-block .pfwp-privacy-notice {
    margin: 0;
    padding-top: 10px;
    border-top: 1px solid var(--pfwp-f-line,#e0dbd2);
    font-size: 12px;
    color: var(--pfwp-f-mut,#5a6e64);
    line-height: 1.5;
}
.pfwp-consent-block .pfwp-privacy-notice a {
    color: var(--pfwp-f-ink,#1a3d2e);
    font-weight: 600;
    text-decoration: underline;
}
.pfwp-consent-block .pfwp-privacy-notice a:hover {
    color: var(--pfwp-f-acc,#d4a853);
}

/* ── Option Badge ─────────────────────────────── */
.pfwp-option-badge {
    display: inline-block;
    background: var(--pfwp-f-acc,#d4a853);
    color: var(--pfwp-f-on-acc,#1a3d2e);
    padding: 2px 10px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ── Helpers ───────────────────────────────────── */
.pfwp-text-muted { color: var(--pfwp-f-faint,#8a9690); font-size: 13px; }
.pfwp-hidden { display: none !important; }

/* ── V2: Spots Remaining ─────────────────────── */
.pfwp-spots-remaining {
    display: inline-block;
    background: var(--pfwp-f-ok-bg,#e8f5ee);
    color: var(--pfwp-f-ink,#1a3d2e);
    padding: 4px 14px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 600;
    margin-top: 10px;
}

/* ── V2: Logo Upload Area ────────────────────── */
.pfwp-file-upload-area {
    position: relative;
    border: 2px dashed var(--pfwp-f-line-5,#d4cfc5);
    border-radius: 12px;
    padding: 24px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background: var(--pfwp-f-tint,#faf8f3);
}
.pfwp-file-upload-area:hover,
.pfwp-file-upload-area.pfwp-drag-over {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-ok-bg,#e8f5ee);
}
.pfwp-file-upload-area input[type="file"] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.pfwp-file-upload-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    pointer-events: none;
}
.pfwp-upload-icon {
    font-size: 28px;
    margin-bottom: 4px;
}
.pfwp-file-upload-label span {
    font-size: 14px;
    color: var(--pfwp-f-mut,#5a6e64);
}
.pfwp-file-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 0;
}
.pfwp-file-name {
    font-size: 14px;
    font-weight: 600;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-file-remove {
    background: var(--pfwp-f-err-bg,#fdf0ef);
    color: var(--pfwp-f-err,#c0392b);
    border: 1px solid var(--pfwp-f-err-line,#f5c6c2);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    position: relative;
    z-index: 5;
}
.pfwp-file-remove:hover {
    background: var(--pfwp-f-err,#c0392b);
    color: var(--pfwp-f-on-ink,#fff);
}

/* ── V2: Notice / Warning ────────────────────── */
.pfwp-notice {
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
    margin-bottom: 12px;
}
.pfwp-notice-warning {
    background: var(--pfwp-f-x17,#fef9e7);
    color: var(--pfwp-f-x04,#856404);
    border: 1px solid var(--pfwp-f-x12,#f5e6a8);
}

/* ── Donation Progress Bar ──────────────────── */
.pfwp-progress-wrap {
    background: var(--pfwp-f-surface,#ffffff);
    border: 1px solid var(--pfwp-f-shadow,rgba(26,61,46,0.1));
    border-radius: 16px;
    padding: 28px 32px;
    max-width: 600px;
    margin: 0 auto;
    box-shadow: 0 2px 12px rgba(26,61,46,0.06);
}
.pfwp-progress-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 16px;
}
.pfwp-progress-amount {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 36px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    display: block;
    line-height: 1.1;
}
.pfwp-progress-label {
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--pfwp-f-mut,#5a6e64);
    margin-top: 4px;
    display: block;
}
.pfwp-progress-pct {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--pfwp-f-acc,#d4a853);
}
.pfwp-progress-bar {
    background: var(--pfwp-f-tint4,#e8f0ec);
    border-radius: 12px;
    height: 20px;
    overflow: hidden;
    position: relative;
}
.pfwp-progress-fill {
    background: linear-gradient(90deg, var(--pfwp-f-ink-bg,#1a3d2e), var(--pfwp-f-ok,#4a9d7c));
    border-radius: 12px;
    height: 100%;
    position: relative;
    transition: width 1.5s ease-out;
    min-width: 0;
}
.pfwp-progress-glow {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: 30px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3));
    border-radius: 0 12px 12px 0;
    animation: pfwpGlow 2s ease-in-out infinite;
}
@keyframes pfwpGlow {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 0.8; }
}
.pfwp-progress-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 14px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--pfwp-f-mut,#5a6e64);
}
.pfwp-progress-donate-link {
    color: var(--pfwp-f-acc,#d4a853);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
}
.pfwp-progress-donate-link:hover {
    color: var(--pfwp-f-ink,#1a3d2e);
}

/* Optional field label */
.pfwp-optional {
    font-weight: 400;
    font-size: 12px;
    color: var(--pfwp-f-x05,#8a9e94);
    font-style: italic;
}

/* Golfer group hint */
.pfwp-golfer-hint {
    font-size: 13px;
    color: var(--pfwp-f-mut,#5a6e64);
    font-style: italic;
    margin: -4px 0 12px 0;
    padding-left: 2px;
}

/* ── Registration Progress Bar ──────────────── */
.pfwp-progress-registration .pfwp-progress-amount-unit {
    font-family: 'DM Sans', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: var(--pfwp-f-mut,#5a6e64);
}
.pfwp-progress-bar-reg {
    background: var(--pfwp-f-tint4,#e8f0ec);
}
.pfwp-progress-fill-reg {
    background: linear-gradient(90deg, var(--pfwp-f-ink-bg,#1a3d2e), var(--pfwp-f-ok,#4a9d7c)) !important;
}

/* ── Inline / Compact Progress Bar ─────────── */
.pfwp-progress-inline {
    display: flex;
    align-items: center;
    gap: 14px;
    max-width: 560px;
    margin: 0 auto;
    padding: 10px 20px;
    background: var(--pfwp-f-tint,#faf8f3);
    border: 1px solid var(--pfwp-f-shadow,rgba(26,61,46,0.1));
    border-radius: 50px;
    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-progress-inline-text {
    white-space: nowrap;
    color: var(--pfwp-f-ink,#1a3d2e);
}
.pfwp-progress-inline-text strong {
    color: var(--pfwp-f-ink,#1a3d2e);
    font-weight: 700;
}
.pfwp-progress-inline-bar {
    flex: 1;
    min-width: 80px;
    height: 8px;
    background: var(--pfwp-f-line,#e0dbd2);
    border-radius: 4px;
    overflow: hidden;
}
.pfwp-progress-inline-fill {
    display: block;
    height: 100%;
    border-radius: 4px;
    background: linear-gradient(90deg, var(--pfwp-f-ink-bg,#1a3d2e), var(--pfwp-f-ok,#4a9d7c));
    transition: width 1.5s ease-out;
}
.pfwp-progress-inline-spots {
    white-space: nowrap;
    font-weight: 600;
    color: var(--pfwp-f-acc,#d4a853);
    font-size: 13px;
}

/* Dark inline variant */
.pfwp-progress-inline-dark {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.12);
    color: var(--pfwp-f-on-ink,#ffffff);
}
.pfwp-progress-inline-dark .pfwp-progress-inline-text,
.pfwp-progress-inline-dark .pfwp-progress-inline-text strong {
    color: var(--pfwp-f-on-ink,#ffffff);
}
.pfwp-progress-inline-dark .pfwp-progress-inline-bar {
    background: rgba(255,255,255,0.15);
}
.pfwp-progress-inline-dark .pfwp-progress-inline-fill {
    background: linear-gradient(90deg, var(--pfwp-f-acc,#d4a853), var(--pfwp-f-acc-hi,#e6bc6a));
}
.pfwp-progress-inline-dark .pfwp-progress-inline-spots {
    color: var(--pfwp-f-acc,#d4a853);
}

/* Dark full card variant */
.pfwp-progress-dark {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.1);
    box-shadow: none;
}
.pfwp-progress-dark .pfwp-progress-amount,
.pfwp-progress-dark .pfwp-progress-amount-unit {
    color: var(--pfwp-f-on-ink,#ffffff);
}
.pfwp-progress-dark .pfwp-progress-label {
    color: rgba(255,255,255,0.55);
}
.pfwp-progress-dark .pfwp-progress-bar,
.pfwp-progress-dark .pfwp-progress-bar-reg {
    background: rgba(255,255,255,0.1);
}
.pfwp-progress-dark .pfwp-progress-fill,
.pfwp-progress-dark .pfwp-progress-fill-reg {
    background: linear-gradient(90deg, var(--pfwp-f-acc,#d4a853), var(--pfwp-f-acc-hi,#e6bc6a)) !important;
}
.pfwp-progress-dark .pfwp-progress-footer {
    color: rgba(255,255,255,0.5);
}
.pfwp-progress-dark .pfwp-progress-donate-link:hover {
    color: var(--pfwp-f-on-ink,#ffffff);
}

@media (max-width: 600px) {
    .pfwp-progress-inline {
        flex-wrap: wrap;
        border-radius: 12px;
        gap: 8px;
        padding: 12px 16px;
    }
    .pfwp-progress-inline-bar {
        width: 100%;
        order: 3;
    }
}

/* ── Payment Method Selector ─────────────────── */
/* ── Payment Method Toggle (Pure CSS) ──────── */
.pfwp-pm-wrap {
    position: relative;
}

.pfwp-pm-radio {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.pfwp-payment-methods {
    display: flex;
    gap: 10px;
    margin-bottom: 16px;
}

.pfwp-pm-option {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 14px 16px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--pfwp-f-tint,#faf8f3);
}

/* Active state via sibling :checked */
#pm-square:checked ~ .pfwp-payment-methods [for="pm-square"],
#pm-interac:checked ~ .pfwp-payment-methods [for="pm-interac"] {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-tint3,#f0f5f2);
    box-shadow: 0 0 0 1px var(--pfwp-f-ink-bg,#1a3d2e);
}

/* Show/hide credit card section */
.pfwp-pm-wrap .pfwp-method-square {
    display: block !important;
}
#pm-interac:checked ~ .pfwp-method-square {
    display: none !important;
}

/* Show/hide interac section */
.pfwp-pm-wrap .pfwp-method-interac {
    display: none !important;
}
#pm-interac:checked ~ .pfwp-method-interac {
    display: block !important;
}

.pfwp-pm-label {
    font-weight: 700;
    font-size: 14px;
    color: var(--pfwp-f-ink,#1a3d2e);
}

.pfwp-pm-note {
    font-size: 12px;
    color: var(--pfwp-f-faint,#8a9690);
    margin-top: 2px;
}

@media (max-width: 480px) {
    .pfwp-payment-methods {
        flex-direction: column;
    }
}

/* ── Interac e-Transfer Box ──────────────────── */
.pfwp-interac-box {
    background: var(--pfwp-f-tint3,#f0f5f2);
    border: 1px solid var(--pfwp-f-x08,#c8d8cf);
    border-radius: 10px;
    padding: 20px;
    margin-top: 4px;
}

.pfwp-interac-box h4 {
    font-size: 16px;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 12px;
}

.pfwp-interac-email {
    font-size: 15px;
    color: var(--pfwp-f-ink,#333);
    margin: 0 0 8px;
    padding: 10px 14px;
    background: var(--pfwp-f-surface,#fff);
    border-radius: 6px;
    border: 1px solid var(--pfwp-f-line,#e0dbd2);
}

.pfwp-interac-msg {
    font-size: 13px;
    color: var(--pfwp-f-mut,#5a6e64);
    line-height: 1.5;
    margin: 0 0 12px;
}

.pfwp-interac-ref {
    font-size: 14px;
    color: var(--pfwp-f-ink,#333);
    margin: 0;
    padding: 10px 14px;
    background: var(--pfwp-f-surface,#fff);
    border-radius: 6px;
    border: 1px dashed var(--pfwp-f-acc,#d4a853);
}

.pfwp-interac-ref .pfwp-ref-num {
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    font-family: monospace;
    font-size: 16px;
}

/* ── Bank Links Grid ───────────────────────── */
.pfwp-bank-links {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--pfwp-f-x08,#c8d8cf);
}

.pfwp-bank-links-label {
    font-size: 13px;
    color: var(--pfwp-f-ink,#1a3d2e);
    margin: 0 0 10px;
}

.pfwp-bank-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 5px;
}

.pfwp-bank-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px 4px;
    background: var(--pfwp-f-surface,#fff);
    border: 1px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.2s;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    text-align: center;
    line-height: 1.2;
}

.pfwp-bank-btn:hover {
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
    background: var(--pfwp-f-tint3,#f0f5f2);
    box-shadow: 0 1px 4px var(--pfwp-f-shadow,rgba(26,61,46,0.1));
}

@media (max-width: 480px) {
    .pfwp-bank-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ── Interac Modal ─────────────────────────── */
.pfwp-interac-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pfwp-modal-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
}

.pfwp-modal-content {
    position: relative;
    background: var(--pfwp-f-surface,#fff);
    border-radius: 12px;
    max-width: 460px;
    width: 92%;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
}

.pfwp-modal-close {
    position: absolute;
    top: 8px;
    right: 12px;
    background: none;
    border: none;
    font-size: 22px;
    color: var(--pfwp-f-on-ink,#fff);
    cursor: pointer;
    z-index: 1;
    line-height: 1;
}

.pfwp-modal-header {
    background: var(--pfwp-f-ink-bg,#1a3d2e);
    padding: 12px 18px;
}

.pfwp-modal-header h3 {
    margin: 0;
    color: var(--pfwp-f-on-ink,#fff);
    font-size: 15px;
    font-family: 'Playfair Display', serif;
}

.pfwp-modal-body {
    padding: 14px 18px 10px;
}

.pfwp-modal-ref-box {
    background: var(--pfwp-f-x15,#f8f7f4);
    border: 2px dashed var(--pfwp-f-acc,#d4a853);
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 8px;
}

.pfwp-modal-ref-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.pfwp-modal-ref-left,
.pfwp-modal-ref-right {
    display: flex;
    flex-direction: column;
}

.pfwp-modal-ref-label {
    font-size: 10px;
    color: var(--pfwp-f-faint,#8a9690);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

.pfwp-modal-ref-num {
    font-size: 22px;
    font-weight: 700;
    font-family: monospace;
    color: var(--pfwp-f-ink,#1a3d2e);
    line-height: 1.2;
    margin: 0;
}

.pfwp-modal-amount {
    font-size: 16px;
    font-weight: 700;
    color: var(--pfwp-f-ink,#1a3d2e);
    line-height: 1.2;
}

.pfwp-modal-send-line {
    font-size: 13px;
    color: var(--pfwp-f-ink,#333);
    margin: 0 0 10px;
    line-height: 1.4;
}

.pfwp-modal-bank-label {
    font-size: 12px;
    font-weight: 600;
    color: var(--pfwp-f-x03,#666);
    margin: 0 0 5px;
}

.pfwp-modal-confirm-section {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid var(--pfwp-f-line,#e0dbd2);
}

.pfwp-modal-txn-label {
    display: block;
    font-size: 12px;
    color: var(--pfwp-f-ink,#333);
    margin-bottom: 4px;
}

.pfwp-modal-txn-input {
    width: 100%;
    padding: 8px 10px;
    border: 2px solid var(--pfwp-f-line,#e0dbd2);
    border-radius: 6px;
    font-size: 14px;
    font-family: 'DM Sans', sans-serif;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.pfwp-modal-txn-input:focus {
    outline: none;
    border-color: var(--pfwp-f-line-strong,#1a3d2e);
}

.pfwp-modal-footer {
    padding: 6px 18px 14px;
}

.pfwp-modal-footer .pfwp-btn {
    width: 100%;
}

.pfwp-bank-other {
    font-size: 11px;
    color: var(--pfwp-f-faint,#8a9690);
    margin: 3px 0 0;
    text-align: center;
    font-style: italic;
}

/* v2.6.10 — Volunteer remaining-spots line */
.pfwp-volunteer-remaining {
    display: inline-block;
    margin: 8px auto 0;
    padding: 4px 12px;
    border-radius: 12px;
    background: var(--pfwp-f-x16,#fef5e0);
    color: var(--pfwp-f-acc-d,#8a6914);
    font-size: 13px;
    font-weight: 600;
    border: 1px solid var(--pfwp-f-acc-line,#f0d28e);
}

/* ───────────── v2.6.11: Volunteer full-day commitment ───────────── */
.pfwp-volunteer-notice {
    background: var(--pfwp-f-x18,#fff8e7);
    border: 1px solid var(--pfwp-f-acc-line,#f0d28e);
    border-left: 4px solid var(--pfwp-f-acc,#d4a853);
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
}
.pfwp-volunteer-notice strong {
    display: block;
    color: var(--pfwp-f-acc-d,#8a6914);
    font-size: 14px;
    margin-bottom: 4px;
}
.pfwp-volunteer-notice p {
    margin: 0;
    color: var(--pfwp-f-x02,#5e4a14);
    font-size: 13px;
    line-height: 1.5;
}
.pfwp-acknowledge-group {
    margin-top: 4px;
    margin-bottom: 8px;
}
.pfwp-acknowledge-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.45;
    color: var(--pfwp-f-x01,#2a3d33);
    padding: 10px 12px;
    background: var(--pfwp-f-x14,#f6faf7);
    border: 1px solid var(--pfwp-f-x10,#d6e4dc);
    border-radius: 8px;
    transition: background 0.15s, border-color 0.15s;
}
.pfwp-acknowledge-label:hover {
    background: var(--pfwp-f-x11,#eef5f0);
    border-color: var(--pfwp-f-x07,#b8d2c2);
}
.pfwp-acknowledge-label input[type="checkbox"] {
    margin-top: 3px;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--pfwp-f-ink,#1a3d2e);
    cursor: pointer;
}

/* ── Sold-out sponsor tiers (2.75.0) ──────────────────────────────────
   Purely additive. These classes are emitted only when a tier has a
   quantity set AND that quantity is met, so a site with no quantities
   configured renders exactly as it did in 2.73.2. */
.pfwp-option-card--sold {
    opacity: .55;
    cursor: not-allowed;
    filter: grayscale(1);
}
.pfwp-option-card--sold:hover {
    border-color: inherit;
    box-shadow: none;
    transform: none;
}
.pfwp-option-badge--sold {
    background: var(--pfwp-f-err-bg,#fdf0ef);
    color: var(--pfwp-f-err-d,#9e2b25);
}
.pfwp-tier-allgone {
    margin: 0 0 16px;
    padding: 12px 14px;
    border-radius: 8px;
    background: var(--pfwp-f-err-bg,#fdf0ef);
    color: var(--pfwp-f-err-d,#9e2b25);
    font-weight: 600;
}

/* @since 2.99.82 — long-drive single-page registration grid (mockup layout). */
.pfwp-ld-grid{display:block}          /* @since 2.99.83 — single-column stack so the form fits its page column; payment presentation lives in the page chrome (mockup) */
.pfwp-ld-col{min-width:0}
.pfwp-ld-col.pfwp-ld-form{margin-bottom:22px}
.pfwp-help-toggle{background:none;border:0;color:var(--pfwp-f-acc,#9BE800);font-size:12px;cursor:pointer;padding:0 0 0 8px;text-decoration:underline}
.pfwp-help-note{margin:8px 0 4px;padding:10px 12px;border-left:2px solid var(--pfwp-f-acc,#9BE800);background:rgba(155,232,0,.06);font-size:13px}
#pfwp-division-select{width:100%}

/* @since 2.99.84 — long-drive form fits a narrow page column (register 30/20/50).
   Scoped to .pfwp-form-dark so the golf form is untouched. Also drops the serif
   headings to the theme's sans and forces the accent to the palette var so
   nothing renders in the base cream/gold or a stray colour. */
.pfwp-form-dark .pfwp-form-card{padding:24px 22px}
.pfwp-form-dark .pfwp-form-header h2,
.pfwp-form-dark .pfwp-section-title,
.pfwp-form-dark .pfwp-form-header{font-family:'Saira Condensed','DM Sans',sans-serif !important}
.pfwp-form-dark .pfwp-form-header h2{font-size:24px}
.pfwp-form-dark .pfwp-section-title{font-size:17px}
.pfwp-form-dark .pfwp-field-group{margin-bottom:12px}
.pfwp-form-dark .pfwp-field-group label{font-size:12px;margin-bottom:4px}
.pfwp-form-dark .pfwp-field-group input[type="text"],
.pfwp-form-dark .pfwp-field-group input[type="email"],
.pfwp-form-dark .pfwp-field-group input[type="tel"],
.pfwp-form-dark .pfwp-field-group input[type="number"],
.pfwp-form-dark .pfwp-field-group select,
.pfwp-form-dark .pfwp-field-group textarea{padding:9px 12px;font-size:13px;border-width:1px;border-radius:8px}
.pfwp-form-dark .pfwp-btn{padding:12px 20px;font-size:14px}
.pfwp-form-dark .pfwp-btn-primary{background:var(--pfwp-f-acc,#9BE800) !important;color:#0E1622 !important}
.pfwp-form-dark .pfwp-help-toggle{color:var(--pfwp-f-acc,#9BE800) !important}
.pfwp-form-dark .pfwp-required{color:var(--pfwp-f-acc,#9BE800) !important}
.pfwp-form-dark a{color:var(--pfwp-f-acc,#9BE800)}
.pfwp-form-dark .pfwp-summary{padding:12px 14px}
.pfwp-form-dark .pfwp-form-header{padding-bottom:18px}

/* @since 2.99.85 — further compact the long-drive form so its column height
   sits closer to the includes/fee columns (register 30/20/50). */
.pfwp-form-dark .pfwp-form-card{padding:20px 20px}
.pfwp-form-dark .pfwp-form-header{padding-bottom:14px;margin-bottom:4px}
.pfwp-form-dark .pfwp-form-header h2{font-size:22px;margin:0}
.pfwp-form-dark .pfwp-field-group{margin-bottom:10px}
.pfwp-form-dark .pfwp-row{gap:12px}
.pfwp-form-dark .pfwp-summary{padding:10px 12px;margin:8px 0}
.pfwp-form-dark .pfwp-section-title{font-size:15px;margin:10px 0 8px}
.pfwp-form-dark .pfwp-pm-wrap{margin:4px 0}
.pfwp-form-dark .pfwp-method-square{margin-top:10px}
.pfwp-form-dark .pfwp-consent, .pfwp-form-dark .pfwp-consent-block{font-size:11px;margin:10px 0;padding:10px 12px}
.pfwp-form-dark .pfwp-nav-row{margin-top:14px !important}
.pfwp-form-dark .pfwp-help-note{font-size:12px;padding:8px 10px;margin:6px 0}

/* @since 2.99.86 — long-drive form: THEME FONTS + ~50% scale. Scoped to
   .pfwp-form-dark; golf form untouched. Headings Saira Condensed, body Barlow. */
.pfwp-form-dark, .pfwp-form-dark input, .pfwp-form-dark select,
.pfwp-form-dark textarea, .pfwp-form-dark .pfwp-field-group label,
.pfwp-form-dark p, .pfwp-form-dark .pfwp-summary,
.pfwp-form-dark .pfwp-pm-body, .pfwp-form-dark .pfwp-consent,
.pfwp-form-dark .pfwp-consent-block{font-family:'Barlow',system-ui,sans-serif !important}
.pfwp-form-dark .pfwp-form-header h2,
.pfwp-form-dark .pfwp-section-title,
.pfwp-form-dark .pfwp-pm-body b,
.pfwp-form-dark .pfwp-btn{font-family:'Saira Condensed',Impact,sans-serif !important;text-transform:uppercase;letter-spacing:.02em}

/* ~50% scale of current sizing */
.pfwp-form-dark .pfwp-form-card{padding:14px 14px}
.pfwp-form-dark .pfwp-form-header{padding-bottom:8px;margin-bottom:2px}
.pfwp-form-dark .pfwp-form-header h2{font-size:17px;margin:0}
.pfwp-form-dark .pfwp-field-group{margin-bottom:7px}
.pfwp-form-dark .pfwp-field-group label{font-size:10px;margin-bottom:2px}
.pfwp-form-dark .pfwp-field-group input,
.pfwp-form-dark .pfwp-field-group select,
.pfwp-form-dark .pfwp-field-group textarea{padding:6px 9px;font-size:12px;border-radius:6px}
.pfwp-form-dark .pfwp-row{gap:9px}
.pfwp-form-dark .pfwp-summary{padding:7px 10px;margin:6px 0}
.pfwp-form-dark .pfwp-summary-amount{font-size:15px}
.pfwp-form-dark .pfwp-section-title{font-size:13px;margin:8px 0 6px}
.pfwp-form-dark .pfwp-pm-wrap{margin:2px 0}
.pfwp-form-dark .pfwp-method-square{margin-top:7px}
.pfwp-form-dark .pfwp-consent,
.pfwp-form-dark .pfwp-consent-block{font-size:10px;margin:7px 0;padding:7px 9px}
.pfwp-form-dark .pfwp-btn{padding:9px 16px;font-size:13px}
.pfwp-form-dark .pfwp-nav-row{margin-top:10px !important}
.pfwp-form-dark .pfwp-help-toggle{font-size:11px}
.pfwp-form-dark .pfwp-help-note{font-size:11px;padding:6px 8px;margin:5px 0}

/* @since 2.99.87 — long-drive form: smaller still + LIGHT weight + fix serif Total. */
.pfwp-form-dark, .pfwp-form-dark input, .pfwp-form-dark select, .pfwp-form-dark textarea,
.pfwp-form-dark label, .pfwp-form-dark p, .pfwp-form-dark .pfwp-summary,
.pfwp-form-dark .pfwp-summary *, .pfwp-form-dark .pfwp-pm-body,
.pfwp-form-dark .pfwp-consent, .pfwp-form-dark .pfwp-consent-block{font-weight:300 !important}
.pfwp-form-dark .pfwp-form-header h2,.pfwp-form-dark .pfwp-section-title{font-weight:400 !important}
/* the Total row was still serif — force the theme font + kill the big serif number */
.pfwp-form-dark .pfwp-summary, .pfwp-form-dark .pfwp-summary *,
.pfwp-form-dark .pfwp-summary-amount{font-family:'Barlow',system-ui,sans-serif !important}
.pfwp-form-dark .pfwp-summary-amount{font-size:14px !important;font-weight:600 !important}
/* inputs smaller: kill the tall empty height */
.pfwp-form-dark .pfwp-form-card{padding:12px 12px}
.pfwp-form-dark .pfwp-field-group{margin-bottom:5px}
.pfwp-form-dark .pfwp-field-group label{font-size:9px;margin-bottom:1px}
.pfwp-form-dark .pfwp-field-group input,
.pfwp-form-dark .pfwp-field-group select,
.pfwp-form-dark .pfwp-field-group textarea{padding:4px 8px !important;font-size:11px !important;line-height:1.2 !important;height:auto !important;min-height:0 !important}
.pfwp-form-dark .pfwp-row{gap:8px}
.pfwp-form-dark .pfwp-form-header h2{font-size:15px}
.pfwp-form-dark .pfwp-section-title{font-size:12px;margin:6px 0 4px}
.pfwp-form-dark .pfwp-summary{padding:6px 9px;margin:5px 0}
.pfwp-form-dark .pfwp-method-square,.pfwp-form-dark .pfwp-pm-wrap{margin-top:5px}
.pfwp-form-dark .pfwp-consent,.pfwp-form-dark .pfwp-consent-block{font-size:9px;padding:6px 8px;margin:5px 0}
.pfwp-form-dark .pfwp-btn{padding:7px 14px;font-size:12px}
.pfwp-form-dark .pfwp-nav-row{margin-top:8px !important}

/* @since 2.99.91 — payment modal (long-drive). Scoped to .pfwp-form-dark. */
.pfwp-form-dark .pfwp-pay-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}
.pfwp-form-dark .pfwp-pay-modal[hidden]{display:none}
.pfwp-form-dark .pfwp-pay-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(2px)}
.pfwp-form-dark .pfwp-pay-modal-card{position:relative;z-index:1;width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:var(--pfwp-f-surface,#0E1622);border:1px solid var(--pfwp-f-acc,#9BE800);border-radius:12px;padding:24px 22px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pfwp-form-dark .pfwp-pay-modal-x{position:absolute;top:10px;right:14px;background:none;border:0;color:var(--pfwp-f-mut,#8494A8);font-size:26px;line-height:1;cursor:pointer;padding:0;width:auto}
.pfwp-form-dark .pfwp-pay-modal-x:hover{color:var(--pfwp-f-ink,#E6EDF6)}
.pfwp-form-dark .pfwp-pay-modal .pfwp-summary{display:block !important}
.pfwp-form-dark .pfwp-field-invalid{border-color:#c0392b !important}

/* @since 2.99.93 — success screen matched to the locked form styling: theme
   fonts (Saira Condensed / Barlow), light weight, smaller. Scoped to the
   long-drive form's success screen so golf's success is untouched. */
.pfwp-form-dark .pfwp-success-screen h3,
#pfwp-registration-form .pfwp-success-screen h3{font-family:'Saira Condensed',Impact,sans-serif !important;font-weight:400 !important;text-transform:uppercase;letter-spacing:.02em;font-size:22px !important;margin:0 0 8px}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-subtitle{font-family:'Barlow',system-ui,sans-serif !important;font-weight:300 !important;font-size:13px !important;margin:0 auto 10px;max-width:420px;line-height:1.4}
#pfwp-registration-form .pfwp-success-screen p{font-family:'Barlow',system-ui,sans-serif !important;font-weight:300 !important;font-size:12px !important;line-height:1.4}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-note{font-size:12px !important}
#pfwp-registration-form .pfwp-success-icon{transform:scale(.7);margin:0 auto 4px}
#pfwp-registration-form .pfwp-success-screen .pfwp-btn{font-family:'Saira Condensed',Impact,sans-serif !important;padding:9px 16px;font-size:13px}
#pfwp-registration-form .pfwp-success-content{padding:8px 0}

/* @since 2.99.93b — long-drive success: confetti burst (no golfer icon) + hard
   compaction. Scoped to #pfwp-registration-form so golf's success is untouched. */
#pfwp-registration-form .pfwp-success-screen{padding:22px 20px}
#pfwp-registration-form .pfwp-success-content{padding:0}
#pfwp-registration-form .pfwp-success-screen h3{font-size:19px !important;margin:0 0 6px}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-subtitle{font-size:12px !important;margin:0 auto 6px;max-width:360px}
#pfwp-registration-form .pfwp-success-screen p{font-size:11px !important;margin:0 auto 6px;max-width:380px}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-note{margin-top:8px}
#pfwp-registration-form .pfwp-success-actions{margin-top:12px;gap:8px}
#pfwp-registration-form .pfwp-success-actions .pfwp-btn{padding:8px 14px;font-size:12px}

/* confetti: a small burst of coloured pieces that fall once */
#pfwp-registration-form .pfwp-ld-confetti{position:relative;height:44px;margin:0 auto 6px;pointer-events:none}
#pfwp-registration-form .pfwp-ld-confetti span{position:absolute;top:0;left:50%;width:7px;height:11px;opacity:0;border-radius:1px;animation:pfwp-confetti 1400ms ease-out forwards}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(3n){background:var(--pfwp-f-acc,#9BE800)}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(3n+1){background:#35D6E8}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(3n+2){background:#FF7A1A}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(1){--dx:-120px;--rot:220deg;animation-delay:0ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(2){--dx:-96px;--rot:-160deg;animation-delay:40ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(3){--dx:-72px;--rot:300deg;animation-delay:80ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(4){--dx:-52px;--rot:-90deg;animation-delay:20ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(5){--dx:-34px;--rot:180deg;animation-delay:120ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(6){--dx:-18px;--rot:-260deg;animation-delay:60ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(7){--dx:-6px;--rot:120deg;animation-delay:100ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(8){--dx:8px;--rot:-140deg;animation-delay:30ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(9){--dx:20px;--rot:240deg;animation-delay:90ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(10){--dx:36px;--rot:-200deg;animation-delay:50ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(11){--dx:54px;--rot:160deg;animation-delay:130ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(12){--dx:74px;--rot:-80deg;animation-delay:70ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(13){--dx:96px;--rot:300deg;animation-delay:110ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(14){--dx:118px;--rot:-180deg;animation-delay:10ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(n+15){--dx:0px;--rot:360deg;animation-delay:150ms}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(15){--dx:-140px}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(16){--dx:140px}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(17){--dx:-64px}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(18){--dx:64px}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(19){--dx:-28px}
#pfwp-registration-form .pfwp-ld-confetti span:nth-child(20){--dx:28px}
@keyframes pfwp-confetti{
  0%{opacity:0;transform:translate(-50%,-6px) rotate(0)}
  15%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--dx,0)),46px) rotate(var(--rot,180deg))}
}
@media (prefers-reduced-motion: reduce){
  #pfwp-registration-form .pfwp-ld-confetti span{animation:none;opacity:0}
}

/* @since 2.99.94 — shave ~100px off top+bottom of the long-drive success. */
#pfwp-registration-form .pfwp-success-screen{padding:14px 20px !important;margin:0 auto !important}
#pfwp-registration-form .pfwp-success-content{padding:0 !important}
#pfwp-registration-form .pfwp-ld-confetti{height:24px !important;margin:0 auto 2px !important}
#pfwp-registration-form .pfwp-success-screen h3{font-size:18px !important;margin:0 0 4px !important}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-subtitle{font-size:12px !important;margin:0 auto 4px !important}
#pfwp-registration-form .pfwp-success-screen p{font-size:11px !important;margin:0 auto 4px !important}
#pfwp-registration-form .pfwp-success-screen .pfwp-success-note{margin:6px auto 0 !important}
#pfwp-registration-form .pfwp-success-actions{margin-top:10px !important;gap:6px !important}
#pfwp-registration-form .pfwp-success-actions .pfwp-btn{padding:7px 14px !important;font-size:12px !important}

/* @since 2.99.95 — success card fills its column like the form (no floating inner
   card, no outer gap). Removes max-width/margin/shadow so the border-to-content
   spacing matches the registration state. Scoped to long-drive. */
#pfwp-registration-form .pfwp-success-screen{
  max-width:none !important;
  margin:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
#pfwp-registration-form .pfwp-success-content{padding:0 !important;max-width:520px;margin:0 auto}
