/* Modal forms (volunteer, partner, newsletter choice). Large touch targets, 16px inputs (no iOS zoom). */
.pl-noscroll{overflow:hidden}
.pl-dialog{border:0;padding:0;border-radius:18px;width:min(32rem,calc(100vw - 1.5rem));max-height:calc(100dvh - 1.5rem);background:#FFFDF8;color:#241a2b;box-shadow:0 20px 60px rgba(0,0,0,.35);font-family:var(--font-body,inherit);overflow:auto}
.pl-dialog.pl-small{width:min(26rem,calc(100vw - 1.5rem))}
.pl-dialog::backdrop{background:rgba(20,12,28,.6)}
.pl-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.1rem 1.1rem 0 1.25rem}
.pl-title{margin:0;font-size:1.35rem;line-height:1.2;color:#241a2b}
.pl-x{flex:none;width:44px;height:44px;margin:-.4rem -.3rem 0 0;border:0;border-radius:50%;background:transparent;font-size:1.8rem;line-height:1;color:#241a2b;cursor:pointer}
.pl-x:hover{background:rgba(0,0,0,.07)}
.pl-body{padding:.5rem 1.25rem 1.25rem}
.pl-lead{margin:.2rem 0 .9rem;color:#4a3d52}
.pl-form{display:flex;flex-direction:column;gap:.85rem}
.pl-field{display:flex;flex-direction:column;gap:.3rem}
.pl-label{font-weight:700;font-size:.92rem}
.pl-opt{font-weight:400;color:#6b5d73}
.pl-field input,.pl-field textarea{font:inherit;font-size:16px;min-height:48px;padding:.65rem .8rem;border:1.5px solid #b9aec1;border-radius:10px;background:#fff;color:#241a2b;width:100%;box-sizing:border-box}
.pl-field textarea{min-height:5.5rem;resize:vertical}
.pl-field input:focus,.pl-field textarea:focus{outline:3px solid var(--gold,#DEB054);outline-offset:1px;border-color:#241a2b}
.pl-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.pl-chip{font:inherit;font-size:.95rem;min-height:44px;padding:.5rem .95rem;border:1.5px solid #b9aec1;border-radius:999px;background:#fff;color:#241a2b;cursor:pointer}
.pl-chip[aria-pressed=true]{background:#241a2b;border-color:#241a2b;color:#fff}
.pl-primary{font:inherit;font-weight:700;font-size:1.05rem;min-height:52px;width:100%;border:0;border-radius:12px;background:#241a2b;color:#fff;cursor:pointer;padding:.7rem 1rem}
.pl-primary:disabled{opacity:.55;cursor:not-allowed}
.pl-primary:focus-visible,.pl-chip:focus-visible,.pl-toggle:focus-visible,.pl-x:focus-visible{outline:3px solid var(--gold,#DEB054);outline-offset:2px}
.pl-actions{margin-top:.2rem}
.pl-err{margin:0;min-height:1.2em;color:#a1163f;font-size:.92rem}
.pl-fine{margin:.2rem 0 0;font-size:.8rem;color:#6b5d73}
.pl-fine a{color:inherit}
.pl-center{text-align:center}
.pl-toggles{display:flex;flex-direction:column;gap:.65rem;margin:.6rem 0 .4rem}
.pl-toggle{display:flex;align-items:center;gap:.9rem;width:100%;min-height:68px;padding:.8rem 1rem;text-align:left;font:inherit;border:2px solid #b9aec1;border-radius:14px;background:#fff;color:#241a2b;cursor:pointer}
.pl-toggle[aria-pressed=true]{border-color:#241a2b;background:#f4ecfa}
.pl-check{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:8px;border:2px solid #b9aec1;color:transparent;font-weight:700}
.pl-toggle[aria-pressed=true] .pl-check{background:#241a2b;border-color:#241a2b;color:#fff}
.pl-ttext{display:flex;flex-direction:column}
.pl-ttext small{color:#6b5d73;font-size:.82rem}
.pl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:560px){
  .pl-dialog{margin:auto auto 0;width:100vw;max-width:100vw;border-radius:18px 18px 0 0;max-height:92dvh}
}
@media (prefers-reduced-motion:no-preference){.pl-dialog[open]{animation:plin .18s ease-out}@keyframes plin{from{opacity:0;transform:translateY(12px)}}}
