/* Partner RSVP forms (owner, Oct 4, 2026): the NAMI and Lake Las Vegas forms carry the partner's logo and their
   own colour so the team can tell every form apart at a glance. Loaded after styles.css (and vip.css on the VIP
   copies). NAMI = NAMI blue, Lake Las Vegas = lake teal; the VIP copies keep the partner colour and add the
   champagne VIP band under the hero. */
body.partner-nami { --blue:#7fb6e8; --gold:#7fb6e8; --partner-dark:#1f5f9e; --partner-soft:#eef5fc; --partner-line:#c5d8ea; }
body.partner-lake { --blue:#5fd0c2; --gold:#5fd0c2; --partner-dark:#0f6e66; --partner-soft:#ecf8f6; --partner-line:#bfe3de; }
/* USTA digital palette: Pantone 279 light blue + Pantone 282 navy. */
body.partner-usta { --blue:#418fde; --gold:#418fde; --partner-dark:#00143f; --partner-soft:#eef6fd; --partner-line:#a9c9eb; background:#f5f9fe; color:#00143f; }
body.partner-nami.vip, body.partner-lake.vip { --gold:#d6c8a0; }
body.partner-nami .intro .kicker, body.partner-nami .highlights-link { color:#cfe3f6; }
body.partner-lake .intro .kicker, body.partner-lake .highlights-link { color:#c8efe9; }
body.partner-usta .intro { background:#418fde; color:#00143f; border-bottom-color:#00143f; }
body.partner-usta .intro h1 { color:#00143f; }
body.partner-usta .intro h1 span { color:#fff; }
body.partner-usta .intro h1 .h1-and .amp { color:#00143f; }
body.partner-usta .intro .lede { color:#00143f; }
body.partner-usta .intro .highlights-link { color:#00143f; }
body.partner-usta .event-line, body.partner-usta .event-line strong { color:#00143f; }
body.partner-usta .event-line span::before { color:#fff; }
body.partner-usta .evening span { color:#00143f; }
body.partner-usta .evening strong { color:#fff; }
body.partner-usta .evening-day { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; width:100%; }
body.partner-usta .evening-day li { min-width:0; text-align:left; }
body.partner-nami .event-line span::before, body.partner-lake .event-line span::before, body.partner-usta .event-line span::before { color:var(--blue); }
body.partner-nami .form-heading span, body.partner-lake .form-heading span, body.partner-usta .form-heading span { color:var(--partner-dark); }
body.partner-nami input, body.partner-nami select, body.partner-nami textarea,
body.partner-lake input, body.partner-lake select, body.partner-lake textarea,
body.partner-usta input, body.partner-usta select, body.partner-usta textarea { border-color:var(--partner-line); background:var(--partner-soft); }
body.partner-nami input:focus, body.partner-nami select:focus, body.partner-nami textarea:focus,
body.partner-lake input:focus, body.partner-lake select:focus, body.partner-lake textarea:focus,
body.partner-usta input:focus, body.partner-usta select:focus, body.partner-usta textarea:focus { border-color:var(--partner-dark); box-shadow:0 0 0 3px color-mix(in srgb, var(--partner-dark) 18%, transparent); }
body.partner-nami .toggle input:checked + .toggle-track, body.partner-lake .toggle input:checked + .toggle-track, body.partner-usta .toggle input:checked + .toggle-track { background:var(--partner-dark); }
body.partner-nami .submit-row button, body.partner-lake .submit-row button, body.partner-usta .submit-row button { background:var(--partner-dark); border-color:var(--partner-dark); color:#fff; }
body.partner-usta .form-band { border-color:#c7dbf1; }
body.partner-usta .form-heading h2, body.partner-usta label > span, body.partner-usta .attending legend { color:#00143f; }
body.partner-usta .donation-band { border-color:#c7dbf1; background:#eef6fd; }
body.partner-usta .donation-link { border-color:#418fde; color:#00143f; }
body.partner-usta .donation-link:hover { background:#dcecfb; }
body.partner-usta footer strong { color:#00143f; }
body.partner-nami .private-label, body.partner-lake .private-label { border-bottom:2px solid var(--blue); }
.partner-row { display:flex; align-items:center; gap:22px; margin:0 0 22px; }
.partner-row img { display:block; width:auto; }
.partner-row { flex-wrap:wrap; row-gap:12px; }
.partner-row img.partner-cohen-logo { height:58px; }
.partner-row img.partner-icf-logo { height:64px; }
.partner-row img.partner-nami-logo { height:58px; }
.partner-row-lake { flex-wrap:nowrap; gap:18px; }
.partner-row-lake .partner-break { display:none; }
.partner-row-lake .partner-support { display:flex; flex:0 0 auto; flex-direction:column; align-items:center; justify-content:center; gap:4px; margin-left:4px; padding-left:18px; border-left:1px solid rgb(255 255 255 / 32%); color:#c8efe9; font-size:12px; font-weight:600; letter-spacing:.04em; line-height:1; white-space:nowrap; }
.partner-row-lake .partner-support img.partner-lake-logo { display:block; width:auto; height:30px; }
.partner-row img.partner-usta-logo { height:54px; filter:invert(1); }
.partner-row-usta { width:min(100%,640px); align-items:center; justify-content:space-between; gap:0; }
.partner-row-usta img { filter:brightness(0) invert(1); object-fit:contain; object-position:center; }
.partner-row-usta img.partner-cohen-logo { height:56px; }
.partner-row-usta img.partner-icf-logo { height:64px; }
.partner-row-usta img.partner-nami-logo { height:50px; }
.partner-row-usta img.partner-usta-logo { height:42px; }
.partner-row .partner-divider { width:1px; height:46px; background:rgb(255 255 255 / 32%); }
/* ICF and NAMI read as one pair; Lake Las Vegas follows as a separate support credit. */
.partner-row .partner-times { display:inline-flex; align-items:center; align-self:center; color:var(--blue); font-size:30px; font-weight:500; line-height:1; }
.partner-row .vip-chip { padding:5px 12px; border:1px solid #d6c8a0; border-radius:999px; color:#e9e0c6; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
@media (max-width:760px) { .partner-row { gap:10px; margin-bottom:16px; } .partner-row img.partner-cohen-logo { height:36px; } .partner-row img.partner-icf-logo { height:40px; } .partner-row img.partner-nami-logo { height:32px; } .partner-row img.partner-usta-logo { height:28px; } .partner-row .partner-divider { height:30px; } .partner-row .partner-times { font-size:22px; } .partner-row .vip-chip { padding:4px 9px; font-size:10px; } }
@media (max-width:760px) {
  .partner-row-lake { flex-wrap:nowrap; gap:clamp(4px,1.1vw,9px); }
  .partner-row-lake .partner-break { display:none; }
  .partner-row-lake img.partner-cohen-logo { height:clamp(22px,8vw,58px); }
  .partner-row-lake img.partner-icf-logo { height:clamp(25px,9vw,64px); }
  .partner-row-lake img.partner-nami-logo { height:clamp(21px,7.8vw,58px); }
  .partner-row-lake .partner-divider { display:block; flex:0 0 1px; height:clamp(21px,7.8vw,58px); }
  .partner-row-lake .partner-times { font-size:clamp(14px,4vw,22px); }
  .partner-row-lake .partner-support { align-items:center; gap:clamp(2px,.6vw,4px); margin-left:0; padding-left:clamp(5px,1.4vw,11px); border-left:1px solid rgb(255 255 255 / 32%); font-size:clamp(8px,2vw,12px); text-align:center; }
  .partner-row-lake .partner-support img.partner-lake-logo { height:clamp(14px,5vw,30px); }
}
@media (max-width:760px) { body.partner-usta .partner-row-usta { gap:0; flex-wrap:nowrap; } body.partner-usta .partner-row-usta img.partner-cohen-logo { height:28px; } body.partner-usta .partner-row-usta img.partner-icf-logo { height:32px; } body.partner-usta .partner-row-usta img.partner-nami-logo { height:25px; } body.partner-usta .partner-row-usta img.partner-usta-logo { height:21px; } body.partner-usta .evening-day { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 22px; } }
/* Owner (Oct 4): no top bar on the partner forms; the three logos open the page, then the form. */
body.partner-nami .intro, body.partner-lake .intro, body.partner-usta .intro { padding-top:44px; }
@media (max-width:760px) { body.partner-nami .intro, body.partner-lake .intro, body.partner-usta .intro { padding-top:28px; } }
/* Owner (Oct 4): the standard and VIP forms also open with the Cohen, ICF and NAMI logos (no top bar), keeping their own colours. */
body.with-logos .intro { padding-top:44px; }
@media (max-width:760px) { body.with-logos .intro { padding-top:28px; } }
body.community-day-rsvp .community-ticket-note { max-width:680px; margin:16px 0 0; padding:12px 16px; border-left:3px solid var(--blue); background:#f8f4fc; color:#443a4d; font-size:14px; line-height:1.6; }
body.community-day-rsvp .community-ticket-note a { color:#543078; font-weight:700; text-underline-offset:3px; }
@media (max-width:350px) { body.community-day-rsvp .event-line span::before { display:none; } }
