/* /partners/ cooperation page. Linked via HeadExtra from internal/httpapi/partners.go. */
.pl-cards { list-style: none; padding: 0; margin: var(--sp-4) 0 0; display: grid; gap: var(--sp-3); }
@media (min-width: 720px) { .pl-cards { grid-template-columns: repeat(3, 1fr); } }
.pl-cards li { border: 1px solid var(--line); border-radius: var(--r-l); padding: var(--sp-4); background: var(--surface); }
.pl-cards h3 { font-size: var(--fs-1); margin: 0 0 var(--sp-2); }
.pl-cards p, .pl-slots dd { margin: 0; color: var(--ink-2); }
.pl-slots { display: grid; gap: var(--sp-3); margin: var(--sp-4) 0 0; }
.pl-slots dt { font-weight: 700; }

.pl-form { display: grid; gap: var(--sp-4); max-width: 640px; }
.pl-form fieldset { border: 1px solid var(--line); border-radius: var(--r-l); padding: var(--sp-4); margin: 0; display: grid; gap: var(--sp-3); min-width: 0; }
.pl-form legend { font-weight: 700; padding-inline: var(--sp-2); }
.pl-form label { display: grid; gap: var(--sp-1); }
.pl-form label.pl-check { display: flex; align-items: center; gap: var(--sp-2); min-height: 44px; }
.pl-form input[type=text], .pl-form input[type=tel], .pl-form input[type=email], .pl-form select, .pl-form textarea {
  font: inherit; width: 100%; box-sizing: border-box; min-height: 44px; padding: var(--sp-2) var(--sp-3);
  border: 1px solid var(--line-strong); border-radius: var(--r-m); background: var(--surface); color: var(--ink);
}
.pl-form textarea { min-height: 120px; }
.pl-form [aria-invalid=true] { border-color: var(--danger); }
.pl-q { margin: 0; font-weight: 600; }
.pl-err { margin: 0; color: var(--danger); font-size: var(--fs--1); }
.pl-notice { color: var(--danger); background: var(--danger-bg); border-radius: var(--r-m); padding: var(--sp-3); }
.pl-done { background: var(--ok-bg); border-radius: var(--r-l); padding: var(--sp-4); }
.pl-privacy { margin: 0; color: var(--ink-3); font-size: var(--fs--1); }
.pl-trap { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
/* Same primary shape as .pax-done in app.css (the shared .btn classes are gone). */
.pl-submit {
  justify-self: start; display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; padding: 0 18px; border: 1px solid transparent; border-radius: var(--r-m);
  background: var(--brand); color: var(--on-brand); font: inherit; font-weight: 700; cursor: pointer;
}
.pl-submit:hover { background: var(--brand-strong); }

/* Show only the chosen request type's extra fields. Without :has, show both —
   the server ignores the fields of the type that was not picked. */
.pl-form fieldset[data-for] { display: none; }
.pl-form:has(input[name=type][value=provider]:checked) fieldset[data-for=provider],
.pl-form:has(input[name=type][value=advertise]:checked) fieldset[data-for=advertise] { display: grid; }
@supports not selector(:has(*)) { .pl-form fieldset[data-for] { display: grid; } }
