/* Popup styles scoped to the registration form */
.registration-open-button { cursor:pointer; border:0; border-radius:3px; padding:14px 22px; background:#a9674d; color:#fff; font:inherit; font-weight:700; }
.reg-modal { display:none; position:fixed; inset:0; z-index:99999; align-items:center; justify-content:center; padding:18px; }
.reg-modal.is-open { display:flex; }
.reg-modal__backdrop { position:absolute; inset:0; background:rgba(15,20,25,.72); backdrop-filter:blur(4px); }
.reg-modal__panel { position:relative; width:min(820px,100%); max-height:92vh; overflow:auto; background:#fffdf9; color:#242424; padding:clamp(22px,4vw,42px); border-radius:8px; box-shadow:0 24px 90px #0005; }
.reg-modal__close { position:absolute; right:16px; top:10px; border:0; background:transparent; font-size:32px; cursor:pointer; color:#333; line-height:1; }
.reg-eyebrow { margin:0 35px 8px 0; color:#a9674d; font-size:11px; letter-spacing:.13em; font-weight:800; }
.reg-modal__panel h2 { margin:0 0 8px; font-size:clamp(25px,4vw,36px); }
.reg-intro { color:#666; margin:0 0 24px; }
.reg-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.reg-grid label { display:flex; flex-direction:column; gap:7px; font-size:13px; font-weight:700; }
.reg-grid input,.reg-grid select,.reg-grid textarea { width:100%; box-sizing:border-box; border:1px solid #d8d4cf; border-radius:4px; padding:11px 12px; font:inherit; font-weight:400; color:#242424; background:white; min-height:43px; }
.reg-grid input:focus,.reg-grid select:focus,.reg-grid textarea:focus { outline:2px solid #c38b70; outline-offset:1px; }
.reg-full { grid-column:1/-1; }
.reg-amount { border:1px solid #e0d7ce; background:#f4eee8; padding:12px; min-height:19px; border-radius:4px; font-weight:800; color:#7f4d39; }
.reg-submit { display:flex; width:100%; justify-content:space-between; align-items:center; border:0; border-radius:4px; padding:15px 18px; margin-top:20px; background:#a9674d; color:white; font:inherit; font-weight:800; cursor:pointer; }
.reg-submit:disabled { opacity:.6; cursor:wait; }
.reg-small { color:#777; font-size:12px; line-height:1.5; text-align:center; margin:12px 0 0; }
.reg-error { color:#a12626; background:#fff0f0; border:1px solid #e9bcbc; padding:10px 12px; border-radius:4px; }
body.reg-modal-open { overflow:hidden; }
@media(max-width:620px) { .reg-grid { grid-template-columns:1fr; } .reg-full { grid-column:auto; } .reg-modal { padding:8px; } .reg-modal__panel { max-height:96vh; padding:25px 18px; } }
