/* ALMS Kursy - na stronie. Kolory z motywu (tokeny), więc tryb ciemny działa sam. Formularz korzysta z klas rekrutacji (.alms-rf) z motywu. */

/* --- karty kursów --- */
.alms-kursy-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(21rem, 100%), 1fr)); gap: 1.25rem; margin-top: 0; margin-bottom: 0; }
.alms-kursy-h { scroll-margin-top: 6.5rem; }
.alms-basehero + .alms-kursy-h, .alms-basehero + .alms-kursy-grid { margin-top: 2.25rem !important; }
.alms-kurs { display: flex; flex-direction: column; min-width: 0; padding: 1.25rem 1.35rem 1.3rem; border-radius: 20px; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); scroll-margin-top: 7rem; }
.alms-kurs > * { margin: 0; }
.alms-kurs .alms-kicker { color: var(--wp--preset--color--gold-text); }
.alms-kurs__title { margin: .25rem 0 .5rem !important; font-size: 1.2rem; line-height: 1.3; }
.alms-kurs__opis p { margin: 0 0 .5rem; font-size: .9375rem; line-height: 1.55; color: var(--wp--preset--color--contrast); }
.alms-kurs__meta { display: grid; gap: .35rem; margin: .5rem 0 1rem !important; padding: .8rem .9rem; border-radius: 14px; background: rgb(30 47 86 / .04); font-size: .9rem; }
:root[data-theme="dark"] .alms-kurs__meta { background: rgb(255 255 255 / .04); }
.alms-kurs__meta > div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; }
.alms-kurs__meta dt { margin: 0; font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--muted); padding-top: .12rem; }
.alms-kurs__meta dd { margin: 0; color: var(--wp--preset--color--heading); font-weight: 600; }
.alms-kurs__foot { margin-top: auto !important; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem 1rem; }
.alms-kurs__state { margin: 0; font-size: .875rem; font-weight: 700; color: var(--wp--preset--color--muted); }
.alms-kurs.is-open .alms-kurs__state { color: #1a7f37; }
.alms-kurs.is-few .alms-kurs__state { color: #8a5d00; }
.alms-kurs.is-reserve .alms-kurs__state { color: #8a5d00; }
:root[data-theme="dark"] .alms-kurs.is-open .alms-kurs__state { color: #6fdc8c; }
:root[data-theme="dark"] :is(.alms-kurs.is-few, .alms-kurs.is-reserve) .alms-kurs__state { color: #DEB873; }
.alms-kurs.is-closed { opacity: .8; }
.alms-kurs__btn { white-space: nowrap; }
.alms-kursy-empty { padding: 1.25rem 1.4rem; border-radius: 20px; border: 1px dashed var(--wp--preset--color--border); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--muted); }
.alms-basehero__nav a.alms-kursy-nav__go { background: #DEB873; border-color: #DEB873; color: #0F1A33; }
.alms-basehero__nav a.alms-kursy-nav__go:hover, .alms-basehero__nav a.alms-kursy-nav__go:focus-visible { background: #FFFFFF; border-color: #FFFFFF; color: #0F1A33; }

/* --- formularz --- */
.alms-kf-section { margin-top: var(--wp--preset--spacing--50); scroll-margin-top: 6.5rem; }
.alms-kf-section > .alms-year { margin-top: 0 !important; }
.alms-rf.alms-kf { grid-template-columns: minmax(0, 1fr); }
.alms-kf .alms-kf__who .wpcf7-radio { grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 15rem)); }
.alms-kf [hidden] { display: none !important; }
.alms-kf__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.alms-kf__courses .wpcf7-radio { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); }
.alms-kf__courses .wpcf7-list-item-label { display: grid; gap: .15rem; }
.alms-kf__kname { font-weight: 800; color: var(--wp--preset--color--heading); line-height: 1.3; }
.alms-kf__kmeta { font-size: .85rem; font-weight: 500; color: var(--wp--preset--color--muted); line-height: 1.4; }
.alms-kf__kstate { font-size: .8rem; font-weight: 700; color: #1a7f37; }
.alms-kf__kstate.is-reserve { color: #8a5d00; }
:root[data-theme="dark"] .alms-kf__kstate { color: #6fdc8c; }
:root[data-theme="dark"] .alms-kf__kstate.is-reserve { color: #DEB873; }
.alms-kf__courses .wpcf7-list-item > label { align-items: flex-start; }
.alms-kf__checks { display: grid; gap: .5rem; }
.alms-kf__checks .wpcf7-list-item > label { padding: .65rem .85rem; border-radius: 12px; border: 1px solid var(--wp--preset--color--border); }
.alms-kf__err { margin: .35rem 0 0; font-size: .875rem; font-weight: 700; color: #B42318; }
:root[data-theme="dark"] .alms-kf__err { color: #FF9C8F; }
.alms-kf .has-error :is(input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea) { border-color: #B42318; box-shadow: 0 0 0 1px #B42318; }
.alms-kf .has-error .wpcf7-list-item > label { border-color: #B42318; }
.alms-kf__msg { padding: 1rem 1.2rem; border-radius: 16px; font-weight: 600; line-height: 1.5; }
.alms-kf__msg.is-ok { background: rgb(26 127 55 / .1); border: 1px solid rgb(26 127 55 / .45); color: var(--wp--preset--color--heading); }
.alms-kf__msg.is-err { background: rgb(180 35 24 / .08); border: 1px solid rgb(180 35 24 / .45); color: var(--wp--preset--color--heading); }
.alms-kf-section > .alms-kf__msg { margin-bottom: 1.25rem; }
.alms-kf .alms-rf__head h3 { margin: .1rem 0 0; padding: 0; border: 0; font-size: clamp(1.2rem, 2.2vw, 1.4rem); line-height: 1.25; }
.alms-kf .alms-rf__subh { margin: 0 0 1rem; font-size: 1rem; font-weight: 800; color: var(--wp--preset--color--heading); }
.alms-kf input[type=number] { width: 100%; min-height: 48px; }
.alms-kf .alms-rf__send[disabled] { opacity: .7; cursor: progress; }
