/* Event-updates signup (bignctennis.com palette: navy #0E2540, action blue #0a6fb0, lime #ccff00) */
.es-sec{padding:40px 5%;background:#f5f7fa}
.es-sec .es-in{max-width:760px;margin:0 auto}
.es-card{background:#fff;border:1px solid #dfe5ec;border-top:4px solid #ccff00;padding:24px;box-sizing:border-box;color:#0E2540}
.es-card h2.es-h{font-size:clamp(1.3rem,2.2vw,1.6rem)!important;line-height:1.2!important;margin:0 0 14px!important;color:#0E2540!important;text-transform:none!important;letter-spacing:-.005em!important}
.es-card .es-sub+.es-form,.es-card h2.es-h+.es-form{margin-top:0}
.es-card .es-sub{margin:0 0 16px;color:#3E4A5C;font-size:1rem}
.es-form{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0}
.es-form[hidden]{display:none}
.es-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.es-field label,.es-fs legend{font-weight:700;font-size:.95rem;color:#0E2540}
.es-field input{font:inherit;font-size:16px;padding:11px 12px;border:1px solid #9aa7b6;border-radius:0;background:#fff;color:#0E2540;min-height:46px;box-sizing:border-box;width:100%}
.es-field input:focus{outline:3px solid #0a6fb0;outline-offset:1px;border-color:#0a6fb0}
.es-fs{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.es-fs legend{padding:0;margin-bottom:6px}
.es-fs .es-opt{font-weight:400;color:#3E4A5C}
.es-radios{display:flex;flex-wrap:wrap;gap:8px 18px}
.es-radios label{display:inline-flex;align-items:center;gap:8px;min-height:40px;cursor:pointer;color:#0E2540}
.es-radios input{width:20px;height:20px;accent-color:#0a6fb0;margin:0}
.es-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.es-btn{font:inherit;font-weight:700;font-size:1rem;min-height:48px;padding:12px 26px;border:1px solid #0a6fb0;background:#0a6fb0;color:#fff;border-radius:0;cursor:pointer}
.es-btn:hover{background:#085a8f}
.es-btn:focus-visible{outline:3px solid #0E2540;outline-offset:2px}
.es-btn[disabled]{opacity:.7;cursor:wait}
.es-consent{margin:0;font-size:.92rem;color:#3E4A5C;flex:1 1 220px}
.es-error{grid-column:1/-1;margin:0;padding:10px 12px;background:#fff4f2;border-left:4px solid #b42318;color:#7a1a12;font-size:.95rem}
.es-error[hidden]{display:none}
.es-hp{position:absolute!important;left:-10000px!important;top:auto;width:1px;height:1px;overflow:hidden}
.es-thanks{outline:none;padding:4px 0}
.es-thanks[hidden]{display:none}
.es-thanks h3{margin:0 0 6px;color:#0E2540;font-size:1.3rem}
.es-thanks p{margin:0;color:#3E4A5C;overflow-wrap:anywhere}
.es-link-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px}
.es-link-card h2.es-h{margin:0!important}
.es-link-card p{margin:4px 0 0;color:#3E4A5C}
.es-link-card .es-btn{display:inline-flex;align-items:center;text-decoration:none;color:#fff!important}
.es-more{margin:16px 0 0;font-size:.95rem}
.es-more a{color:#0a6fb0;font-weight:700}
@media (max-width:600px){.es-sec{padding:28px 4%}.es-card{padding:18px}.es-form{grid-template-columns:1fr}.es-btn{width:100%}}
/* Pumpkins & Paddles thank-you card (Brand Bot graphic, pickleball palette) with a real HTML button over the plain navy area.
   Button box from the 1600x900 art: left 80, top 680, 220x56 -> percentages. Below 700px card width it sits under the image. */
.pp-wide{max-width:960px;margin:0 auto 24px}
.pp-card{position:relative;container-type:inline-size;margin:0}
.pp-card img{display:block;width:100%!important;max-width:none!important;height:auto!important;margin:0!important;border-radius:0!important;box-shadow:none!important;aspect-ratio:16/9;object-fit:cover}
.pp-sub{position:absolute;left:5%;top:75.5556%;width:13.75%;height:6.2222%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:#f27b23;color:#17153A!important;font-family:'Open Sans','Inter Tight',system-ui,sans-serif;font-weight:800;font-size:1.75cqw;line-height:1;text-decoration:none!important;border-radius:.375cqw;letter-spacing:0;text-transform:none}
.pp-sub:hover{background:#ff8f3d}
.pp-sub:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:0 0 0 6px #17153A}
@container (max-width:699px){.pp-sub{position:static;width:auto;height:auto;min-height:48px;padding:12px 28px;margin-top:12px;display:inline-flex;font-size:16px;border-radius:2px}.pp-sub:focus-visible{outline:3px solid #17153A;box-shadow:none}}
.cat-ph.pp-card{aspect-ratio:auto!important;overflow:visible!important;background:transparent!important}
@media (min-width:901px){.cat-card.pp-cat{grid-column:span 2}}
.sponsor-grid.pp-solo{grid-template-columns:1fr!important;max-width:640px;margin:0 auto}
.es-sec .es-in.es-wide{max-width:960px}
.es-wide>.es-card{max-width:760px;margin:0 auto}
.es-wide>.pp-wide{max-width:none}
/* Halloween pages: the full form sits right under the card, so on narrow cards skip the second Subscribe button */
@container (max-width:699px){.es-wide .pp-sub{display:none}}
