.pgmb-wrap { --pgmb-green: var(--kih-green, #1d493d); --pgmb-red: var(--kih-red, #9b160b); --pgmb-gold: var(--kih-gold, #b58a3b); --pgmb-paper: var(--kih-paper, #faf9f6); --pgmb-line: var(--kih-line, #dedbd4); color: var(--kih-ink, #18372f); }
.pgmb-wrap *, .pgmb-wrap *::before, .pgmb-wrap *::after { box-sizing: border-box; }
.pgmb-intro { margin-bottom: 32px; }
.pgmb-times { margin: 30px 0 48px; padding: 20px 24px; border: 1px solid var(--pgmb-line); background: var(--pgmb-paper); }
.pgmb-times summary { cursor: pointer; color: var(--pgmb-green); font-weight: 700; }
.pgmb-times[open] summary { margin-bottom: 22px; }
.pgmb-grid { display: grid; gap: 20px; }
.pgmb-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pgmb-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pgmb-form h2 { margin-top: 48px; }
.pgmb-form label:not(.pgmb-consent) { display: grid; gap: 7px; font-weight: 700; }
.pgmb-form input[type="text"], .pgmb-form input[type="email"], .pgmb-form input[type="tel"], .pgmb-form input[type="date"], .pgmb-form input[type="time"], .pgmb-form select { width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #918e87; border-radius: 2px; background: #fff; color: inherit; font: inherit; }
.pgmb-form input:focus, .pgmb-form select:focus { border-color: var(--pgmb-gold); outline: 3px solid color-mix(in srgb, var(--pgmb-gold) 30%, transparent); outline-offset: 1px; }
.pgmb-optional, .pgmb-help { color: #625f58; font-size: .84em; font-weight: 400; }
.pgmb-mass { margin: 22px 0; padding: 24px; border: 1px solid var(--pgmb-line); background: var(--pgmb-paper); }
.pgmb-mass legend { padding: 0 8px; color: var(--pgmb-green); font-size: 1.1em; font-weight: 700; }
.pgmb-remove { padding: 0; border: 0; background: transparent; color: var(--pgmb-red); font-weight: 700; text-decoration: underline; cursor: pointer; }
.pgmb-secondary, .pgmb-submit, .pgmb-paypal { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 21px; border: 1px solid var(--pgmb-green); border-radius: 999px; font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.pgmb-secondary { background: #fff; color: var(--pgmb-green); }
.pgmb-submit, .pgmb-paypal { background: var(--pgmb-green); color: #fff; }
.pgmb-secondary:disabled { cursor: not-allowed; opacity: .5; }
.pgmb-total { padding: 18px 22px; border-left: 4px solid var(--pgmb-gold); background: var(--pgmb-paper); font-size: 1.1em; }
.pgmb-payments { display: grid; gap: 12px; margin-bottom: 30px; }
.pgmb-payments > label { display: flex; gap: 12px; align-items: flex-start; padding: 16px 18px; border: 1px solid var(--pgmb-line); cursor: pointer; }
.pgmb-payments input { margin-top: 6px; }
.pgmb-payments span { display: grid; }
.pgmb-payments small { color: #625f58; }
.pgmb-payments .pgmb-disabled { cursor: not-allowed; opacity: .55; }
.pgmb-consent { display: flex; gap: 12px; align-items: flex-start; }
.pgmb-consent input { flex: 0 0 auto; margin-top: 7px; }
.pgmb-notice { margin-bottom: 38px; padding: 24px 28px; border-left: 5px solid; }
.pgmb-success { border-color: var(--pgmb-green); background: #e8f0ec; }
.pgmb-error { border-color: var(--pgmb-red); background: #fff1ef; }
.pgmb-bank { display: grid; grid-template-columns: max-content 1fr; gap: 5px 20px; }
.pgmb-bank dt { font-weight: 700; }
.pgmb-bank dd { margin: 0; overflow-wrap: anywhere; }
.pgmb-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
@media (max-width: 760px) { .pgmb-grid-2, .pgmb-grid-3 { grid-template-columns: 1fr; } .pgmb-mass { padding: 18px; } }

