/* waiver.css — the long forms, dressed in the site's own clothes.
   The markup of the forms is untouched (fieldset / legend / label / .doc),
   so this file only re-dresses those tags to match the tournament pages
   and the family account. */
.wrap.auth { max-width: 760px; }
.waiver-form fieldset {
  border: 1px solid var(--line); border-radius: var(--r); background: var(--chalk);
  padding: 22px 24px; margin: 18px 0 0;
}
@media (max-width: 560px) { .waiver-form fieldset { padding: 18px 14px; } }
.waiver-form legend {
  font-family: "Barlow Semi Condensed", "Arial Narrow", sans-serif; font-weight: 800;
  text-transform: uppercase; letter-spacing: .005em; line-height: .95;
  font-size: 24px; color: var(--deep); padding: 0 8px 0 0; margin-bottom: 4px;
}
.waiver-form label { display: block; margin-top: 14px; font-size: 13px; font-weight: 600; color: #3d4a44; }
.waiver-form input[type=radio], .waiver-form input[type=checkbox] { width: 20px; height: 20px; flex: 0 0 20px; accent-color: #1e4032; }
.waiver-form input[type=text], .waiver-form input[type=email], .waiver-form input[type=tel],
.waiver-form input[type=date], .waiver-form select, .waiver-form textarea {
  height: 48px; border-radius: 12px; border: 1px solid #C9D3CD; background: #fff; padding: 0 14px;
  font: 400 15px/1.5 Inter, system-ui, sans-serif; color: var(--ink); width: 100%;
  width: 100%; box-sizing: border-box; margin-top: 5px; padding: 11px 12px;
  border: 1px solid var(--line, #dfe4dc); border-radius: 10px; font-size: 16px; font-family: inherit; background: #fff;
}
.waiver-form input:focus, .waiver-form select:focus, .waiver-form textarea:focus {
  outline: 3px solid #d6f36b; outline-offset: 1px; border-color: #1e4032;
}
.waiver-form .note { font-size: 12.5px; color: #6b776a; margin: 6px 0 0; }
.waiver-form .doc {
  background: var(--paper); border: 1px solid var(--line); border-radius: 12px;
  padding: 16px 18px; margin-bottom: 10px; font-size: 14px; line-height: 1.55;
}
.waiver-form .doc h3, .waiver-form h2 {
  font-family: 'Barlow Semi Condensed', Arial, sans-serif; text-transform: uppercase;
  letter-spacing: .04em; color: #1e4032; border-bottom: 2px solid #d6f36b; padding-bottom: 4px; margin-top: 26px;
}
.waiver-form button[type=submit], .waiver-form input[type=submit] {
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--lime); color: var(--ink); border: 0; border-radius: 999px;
  min-height: 52px; padding: 0 28px; font: 800 15px/1 "Barlow Semi Condensed", "Arial Narrow", sans-serif;
  text-transform: uppercase; letter-spacing: .06em;
  cursor: pointer; margin-top: 18px; width: 100%;
}
.waiver-form button[type=submit]:hover { filter: brightness(1.04); }
.waiver-form .error, .waiver-error { background: #fbf0ef; color: #b5654a; border: 1px solid #e3b7ad; border-radius: 10px; padding: 10px 14px; margin: 12px 0; }
.waiver-form canvas { border: 1px solid var(--line, #dfe4dc); border-radius: 10px; background: #fff; max-width: 100%; }
.waiver-back { display: inline-block; margin-bottom: 10px; font-size: 14px; color: #4a574a; text-decoration: none; }
.waiver-back:hover { text-decoration: underline; }
/* the two cards on the chooser page */
.waiver-choice { display: block; text-decoration: none; color: inherit; background: #fff;
  border: 2px solid var(--line, #dfe4dc); border-radius: 16px; padding: 20px; margin-bottom: 14px; transition: border-color .15s, background .15s; }
.waiver-choice:hover { border-color: #1e4032; background: #f6faf2; }
.waiver-choice .label { display: block; font-family: 'Barlow Semi Condensed', Arial, sans-serif;
  font-size: 21px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: #1e4032; }
.waiver-choice .desc { display: block; font-size: 13.5px; color: #6b776a; margin-top: 4px; }

/* Two columns on a wide screen, one on a phone — the same shape the tournament
   forms use. The pairs are wrapped in .field; everything else in a fieldset
   (the legend, a note, a consent row, the signature) spans the full width. */
.waiver-form fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 18px; align-items: start; }
.waiver-form fieldset > *:not(.field) { grid-column: 1 / -1; }
.waiver-form .field { display: flex; flex-direction: column; margin-top: 14px; min-width: 0; }
.waiver-form .field.field-wide { grid-column: 1 / -1; }
.waiver-form .field label { margin-top: 0; margin-bottom: 5px; }
.waiver-form .field input, .waiver-form .field select, .waiver-form .field textarea { margin-top: 0; }
@media (max-width: 680px) {
  .waiver-form fieldset { grid-template-columns: 1fr; padding: 14px 14px 18px; }
  .waiver-form .field { margin-top: 12px; }
}
/* Hand-sized targets on a phone: nothing under 44px, and no zoom-on-focus. */
@media (max-width: 680px) {
  .waiver-form input:not([type=radio]):not([type=checkbox]), .waiver-form select, .waiver-form textarea { font-size: 16px; min-height: 46px; }
  .waiver-form button[type=submit] { min-height: 52px; font-size: 17px; }
  .waiver-form .checkbox-row, .waiver-form .checkbox-inline { display: flex; gap: 10px; align-items: flex-start; padding: 10px 0; }
  .waiver-form .checkbox-row input[type=checkbox], .waiver-form .checkbox-inline input { width: 22px; height: 22px; min-height: 22px; flex: 0 0 22px; margin-top: 2px; }
  .waiver-form .checkbox-row, .waiver-form .checkbox-inline { min-height: 44px; }
  .waiver-form canvas { height: 170px; }
}
@media (max-width: 680px) {
  .waiver-form button:not([type=submit]), .waiver-form .btn { min-height: 44px; padding: 0 18px; }
  .waiver-choice { padding: 22px 20px; }
}

/* A textarea keeps its own height — the rule above sets one for the single-line
   fields it shares a selector with. */
.waiver-form textarea { height: auto; min-height: 96px; padding: 12px 14px; line-height: 1.5; }
.waiver-form select { appearance: auto; }
/* The yellow aside under a field is the site's own note box. */
.waiver-form .note { border: 1px solid #C6D98F; background: #F7FBE8; border-radius: 12px;
                     padding: 10px 12px; font-size: 13px; color: #46533f; margin: 8px 0 0; }

/* A legend notches itself into the border. Rather than fight that — a floated
   one escapes above the card the moment it runs to two lines — the card's own
   colour goes behind the words, so the line never crosses them. */
.waiver-form legend { float: left; display: block; width: 100%; padding: 4px 0 10px; margin: 0; }
/* float takes the legend out of the border flow, so the fieldset draws a
   closed top edge instead of two stubs with a gap between them. The float has
   to be cleared or the first field climbs up beside the heading. */
.waiver-form legend + * { clear: both; }

/* The same scrolling panel the tournament waiver uses: the contract sits in a
   box of its own rather than making the page four screens long. */
.waiver-form .doc { max-height: 420px; overflow-y: auto; -webkit-overflow-scrolling: touch; }
