/* Pixel Training Schedule — front-end styles.
   Intentionally theme-neutral: inherits your site fonts/colours,
   adds only structure. Override freely in your theme. */

.pxt-schedule{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:1em 0}
.pxt-card{border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:18px;background:#fff}
.pxt-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.pxt-title{margin:0 0 .25em;font-size:1.05rem;line-height:1.3}
.pxt-seats{font-size:.72rem;font-weight:600;white-space:nowrap;padding:3px 9px;border-radius:20px;
  background:rgba(30,122,70,.12);color:#1e7a46}
.pxt-seats.is-full{background:rgba(192,57,43,.12);color:#c0392b}
.pxt-meta{list-style:none;margin:.5em 0 0;padding:0;font-size:.85rem;line-height:1.6}
.pxt-meta li{margin:0}
.pxt-mode{display:inline-block;margin-left:6px;font-size:.7rem;text-transform:capitalize;
  padding:1px 7px;border-radius:12px;background:rgba(0,0,0,.06)}
.pxt-excerpt{font-size:.85rem;margin:.6em 0 0;opacity:.85}
.pxt-btn{margin-top:14px;cursor:pointer;border:0;border-radius:8px;padding:9px 16px;
  font:inherit;font-weight:600;background:#2b5cff;color:#fff}
.pxt-btn:hover{filter:brightness(.94)}
.pxt-btn:disabled{opacity:.5;cursor:progress}
.pxt-form{margin-top:12px;display:grid;gap:8px;border-top:1px solid rgba(0,0,0,.08);padding-top:12px}
.pxt-field label{display:block;font-size:.8rem;font-weight:600}
.pxt-field input{width:100%;margin-top:3px;padding:8px 10px;border:1px solid rgba(0,0,0,.2);
  border-radius:6px;font:inherit}
.pxt-result{margin:6px 0 0;font-size:.85rem;min-height:1.2em}
.pxt-result.is-ok{color:#1e7a46}
.pxt-result.is-err{color:#c0392b}
.pxt-empty{opacity:.7;font-style:italic}

/* Accessibility: keep focus visible even on themes that strip it. */
.pxt-btn:focus-visible,.pxt-field input:focus-visible{outline:2px solid #2b5cff;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.pxt-btn{transition:none}}
