/* warsztaty.css — spotkania i oferta warsztatów (Etap 2). Tylko na stronie warsztatu i formularzu zgłoszenia. */

.wr-blok { margin-top: 1.5rem; }
.wr-blok__tytul { font-size: 1.05rem; margin: 0 0 .6rem; }

.wr-spotkania { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.wr-spotkanie {
  display: grid; grid-template-columns: 1fr auto; column-gap: .75rem; row-gap: .1rem; align-items: center;
  padding: .6rem .75rem; border: 1px solid var(--border); border-radius: 10px;
}
.wr-spotkanie__kiedy { font-weight: 700; }
.wr-spotkanie__szczegol { grid-column: 1; font-size: .875rem; color: var(--muted); }
.wr-spotkanie .wr-stan { grid-column: 2; grid-row: 1 / span 2; justify-self: end; text-align: right; }
.wr-spotkanie--odwolane .wr-spotkanie__kiedy,
.wr-spotkanie--odwolane .wr-spotkanie__szczegol { text-decoration: line-through; color: var(--muted); }

.wr-stan { display: inline-block; font-size: .8125rem; font-weight: 600; margin: 0; }
.wr-stan--open { color: var(--ok, #15803d); }
.wr-stan--soon { color: var(--warn, #b45309); }
.wr-stan--closed { color: var(--danger, #b91c1c); }
.wr-blok > .wr-stan { display: block; margin-top: .6rem; }

.wr-zapis { margin: .9rem 0 0; }
.wr-zapis .btn { overflow-wrap: anywhere; }
.wr-zapis__info { margin: .5rem 0 0; font-size: .875rem; color: var(--muted); }

/* Formularz zgłoszenia: kolejne spotkania */
.sp-lista { display: grid; gap: .6rem; }
.sp-wiersz { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: .5rem; align-items: end; }
.sp-wiersz .f-field { margin: 0; min-width: 0; }
.sp-wiersz input { width: 100%; min-width: 0; }
.sp-usun { min-width: 44px; min-height: 44px; }
.sp-dodaj { margin-top: .6rem; min-height: 44px; }

@media (max-width: 560px) {
  .sp-wiersz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sp-wiersz .sp-pole-data { grid-column: 1 / -1; }
  .sp-wiersz .sp-usun { grid-column: 1 / -1; justify-self: end; }
  .wr-spotkanie { grid-template-columns: 1fr; }
  .wr-spotkanie .wr-stan { grid-column: 1; grid-row: auto; justify-self: start; text-align: left; margin-top: .15rem; }
}

/* Lista warsztatów (Etap 3): kategorie na wierzchu. Zawijane, więc strona nie przewija się w bok. */
.wr-kategorie { display: flex; flex-wrap: wrap; gap: .4rem; margin: .75rem 0; }
.wr-kategoria {
  display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; padding: .35rem .8rem;
  border: 1px solid var(--border); border-radius: 999px; color: inherit; text-decoration: none;
  font-size: .9rem; max-width: 100%; overflow-wrap: anywhere;
}
.wr-kategoria:hover { border-color: var(--border-strong); }
.wr-kategoria:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.wr-kategoria.is-active { font-weight: 700; border-color: currentColor; box-shadow: inset 0 0 0 1px currentColor; }
.wr-kategoria__ile { font-size: .8rem; color: var(--muted); }

/* Telefon: jeden rząd przewijany w kontenerze. Cztery zawinięte rzędy spychały listę poniżej ekranu. */
@media (max-width: 700px) {
  .wr-kategorie { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding: 3px; scrollbar-width: none; }
  .wr-kategorie::-webkit-scrollbar { display: none; }
  .wr-kategoria { flex: 0 0 auto; white-space: nowrap; }
}

/* Organizatorzy (Etap 4) */
.org-katalog, .org-profil { max-width: var(--container, 1180px); margin-inline: auto; padding-inline: 1rem; padding-bottom: 2rem; }
.org-filtry { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-end; margin: 1rem 0 1.25rem; }
.org-filtry__pole { display: flex; flex-direction: column; gap: .25rem; flex: 1 1 180px; min-width: 0; }
.org-filtry__pole--q { flex-basis: 240px; }
.org-filtry__pole label { font-size: .85rem; font-weight: 600; }
.org-filtry__pole input, .org-filtry__pole select { width: 100%; min-height: 44px; font-size: 1rem; }
.org-filtry__check { display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; }
.org-filtry .btn { min-height: 44px; }

.org-siatka { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); }
.org-karta { display: flex; gap: .85rem; padding: .95rem; border: 1px solid var(--border); border-radius: 14px; min-width: 0; }
.org-karta:focus-within { outline: 2px solid currentColor; outline-offset: 2px; }
.org-karta__logo { flex: 0 0 56px; width: 56px; height: 56px; border-radius: 12px; display: grid; place-items: center; overflow: hidden; border: 1px solid var(--border); font-size: 1.4rem; color: var(--muted); }
.org-karta__logo img { width: 100%; height: 100%; object-fit: contain; }
.org-karta__logo--duze { flex-basis: 88px; width: 88px; height: 88px; font-size: 2rem; }
.org-karta__tresc { min-width: 0; }
.org-karta__nazwa { font-size: 1.05rem; margin: 0 0 .15rem; overflow-wrap: anywhere; }
.org-karta__meta { font-size: .875rem; color: var(--muted); margin: 0; }
.org-karta__opis { font-size: .9rem; margin: .35rem 0 0; overflow-wrap: anywhere; }
.org-karta__oferta, .org-naglowek__liczby { display: flex; flex-wrap: wrap; gap: .25rem .85rem; margin: .45rem 0 0; font-size: .9rem; font-weight: 600; }
.org-karta__oferta a, .org-naglowek__liczby a { display: inline-flex; align-items: center; min-height: 44px; }
.org-karta__oferta span { font-weight: 400; color: var(--muted); }

.org-naglowek { display: flex; gap: 1rem; align-items: flex-start; margin: 1rem 0 1.25rem; min-width: 0; }
.org-naglowek h1 { margin: 0 0 .2rem; overflow-wrap: anywhere; }
.org-sekcja { margin: 1.5rem 0; scroll-margin-top: 90px; }
.org-sekcja h2 { font-size: 1.15rem; margin: 0 0 .6rem; }

@media (max-width: 480px) {
  .org-naglowek { flex-direction: column; gap: .6rem; }
}

/* Panel organizatora (Etap 5) */
.op-panel { max-width: 900px; margin-inline: auto; padding: 0 1rem 2.5rem; }
.op-panel .form-sec { margin-bottom: 1rem; }
.op-panel input:not([type=checkbox]):not([type=radio]), .op-panel select, .op-panel textarea { width: 100%; min-width: 0; min-height: 44px; font-size: 1rem; }
.op-panel .btn { min-height: 44px; }
.op-panel .btn:focus-visible, .op-menu a:focus-visible, .op-lista a:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.op-menu { display: flex; flex-wrap: wrap; gap: .35rem .75rem; align-items: center; margin: 0 0 1.25rem; padding-bottom: .6rem; border-bottom: 1px solid var(--border); }
.op-menu a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: .25rem; }
.op-menu a[aria-current=page] { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.op-menu__wyloguj { margin-left: auto; }
.op-profil { font-size: 1.2rem; margin: 0 0 .75rem; overflow-wrap: anywhere; }
.op-akcje { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; align-items: center; }
.op-akcje form { margin: 0; }
.op-liczniki { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .6rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); }
.op-liczniki li { padding: .75rem; border: 1px solid var(--border); border-radius: 12px; font-size: .9rem; }
.op-liczniki strong { display: block; font-size: 1.5rem; line-height: 1.2; }
.op-lista { list-style: none; margin: .5rem 0 0; padding: 0; display: grid; gap: .5rem; }
.op-lista li { overflow-wrap: anywhere; }
.op-lista a { display: inline-flex; align-items: center; min-height: 44px; }
.op-wpisy { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
.op-wpis { padding: .85rem; border: 1px solid var(--border); border-radius: 12px; min-width: 0; }
.op-wpis h3 { font-size: 1.05rem; margin: 0 0 .15rem; overflow-wrap: anywhere; }
.op-wpis__meta { font-size: .875rem; color: var(--muted); margin: 0 0 .25rem; }
.op-wpis__powod { font-size: .9rem; margin: .4rem 0 0; overflow-wrap: anywhere; }
.op-terminy { list-style: none; margin: .4rem 0 .6rem; padding: 0; font-size: .9rem; }
.op-terminy--odwolany { text-decoration: line-through; color: var(--muted); }
.op-bledy { margin: 0; padding-left: 1rem; }
.op-spotkanie { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .8fr) minmax(0, .8fr) minmax(0, 1.2fr) auto auto; gap: .5rem; align-items: end; padding: .5rem 0; border-bottom: 1px solid var(--border); }
.op-spotkanie .f-field { margin: 0; min-width: 0; font-size: .875rem; }
.op-spotkanie__odw { display: inline-flex; align-items: center; gap: .35rem; min-height: 44px; font-size: .875rem; }
.op-cykl { margin: 1rem 0 0; padding: .75rem; border: 1px solid var(--border); border-radius: 10px; min-width: 0; }
.op-cykl legend { font-weight: 600; padding-inline: .25rem; }
@media (max-width: 700px) {
  .op-spotkanie { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .op-spotkanie > .f-field:first-of-type, .op-spotkanie > .f-field:nth-of-type(4) { grid-column: 1 / -1; }
  .op-menu__wyloguj { margin-left: 0; }
}
