/* Strona kapitana / instruktora wg makiety (Wojtek 07.11.2026, makiety/kapitan); karty i opinie z event-leader.css */
.kp { color: var(--navy-600); }
.kp-hero { display: grid; grid-template-columns: minmax(0, 1fr); gap: 56px; align-items: stretch; margin: var(--space-4) 0 8px; }
.kp-hero--photo { grid-template-columns: minmax(0, 1fr) 40%; }
.kp-hero__text { display: flex; flex-direction: column; align-items: flex-start; padding-top: 24px; }
.kp-hero__name { margin: 16px 0 12px; font-size: 48px; font-weight: 500; line-height: 1.1; }
.kp-facts { display: flex; flex-wrap: wrap; gap: 12px 40px; align-self: stretch; margin: 28px 0; padding: 20px 0; border-top: 1px solid var(--gray-100); border-bottom: 1px solid var(--gray-100); }
.kp-facts div { display: flex; flex-direction: column; gap: 2px; }
.kp-facts dt { font-size: 13px; color: var(--gray-500); }
.kp-facts dd { margin: 0; font-size: 20px; font-weight: 700; }
.kp-lead { margin: 0 0 28px; font-size: var(--fs-body-1); line-height: 1.6; color: var(--gray-500); }
.kp-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.kp-photo { position: relative; display: block; min-height: 560px; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(160deg, var(--navy-600), var(--primary-700)); color: var(--white); }
.kp-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transition: filter .2s ease; }
a.kp-photo:hover img { filter: brightness(.92); }
.kp-photo:focus-visible { outline: 3px solid var(--primary-500); outline-offset: 2px; }
.kp-photo .ev-leader__play, .kp-photo .ev-leader__play-label { z-index: 1; }

.kp-sec { margin-top: 64px; }
.kp-sec__head { margin-bottom: 20px; }
.kp-sec__title { margin: 0 0 20px; font-size: 28px; font-weight: 500; line-height: 1.2; }
.kp-sec__head .kp-sec__title { margin: 0; }
.kp-count { font-size: 20px; color: var(--gray-500); }
.kp-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 0 56px; }
.kp-highlights li::before { background: var(--orange-600); }
.kp-quote { position: relative; margin: 0; padding: 36px 48px 36px 110px; border: 1px solid var(--orange-500); border-radius: var(--radius-md); font-size: 17px; font-style: italic; font-weight: 700; line-height: 1.6; }
.kp-quote::before { content: "\201C"; position: absolute; left: 34px; top: 22px; color: var(--orange-200); font: 700 96px/1 Georgia, "Times New Roman", serif; opacity: .6; }
.kp-gallery { margin-top: 0; }
.kp-gallery .gallery__more { right: var(--space-4); }

/* Najbliższe terminy: pasek przewijany strzałkami (js/sections.js), 3 karty na komputerze */
.kp-events { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 3); gap: 24px; margin: 0 -8px; padding: 4px 8px 16px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.kp-events:focus-visible { outline: 2px solid var(--primary-500); outline-offset: 2px; }
.kp-event { display: flex; flex-direction: column; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-1); color: var(--navy-600); text-decoration: none; scroll-snap-align: start; }
.kp-event:hover .kp-event__name { color: var(--primary-700); }
.kp-event__img { position: relative; display: block; height: 150px; background: linear-gradient(160deg, var(--primary-400), var(--primary-700) 70%, var(--navy-600)); }
.kp-event__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.kp-event__bd { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 18px 20px 20px; }
.kp-event__date { font-size: 13px; font-weight: 700; color: var(--orange-600); }
.kp-event__name { font-size: 17px; font-weight: 700; line-height: 1.3; }
.kp-event__meta { display: flex; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 8px; font-size: 14px; color: var(--gray-500); }
.kp-event__meta strong { font-size: 16px; color: var(--navy-600); white-space: nowrap; }
.kp-more { margin: 24px 0 0; font-weight: 700; }
.kp-more a { color: var(--primary-700); }

.kp-others { display: flex; flex-wrap: wrap; gap: 20px 32px; margin: 0; padding: 0; list-style: none; }
.kp-other { display: flex; align-items: center; gap: 14px; font-weight: 700; color: var(--navy-600); text-decoration: none; }
.kp-other:hover { color: var(--primary-700); }
.kp-other img, .kp-other span { display: grid; flex: none; place-items: center; width: 56px; height: 56px; border-radius: var(--radius-full); object-fit: cover; background: var(--orange-200); color: var(--orange-600); font-size: 22px; }
.kp-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 72px 0 var(--space-6, 48px); padding: 32px 40px; border-radius: var(--radius-lg); background: var(--primary-100); }
.kp-cta p { margin: 0; font-size: 20px; }

@media (max-width: 760px) {
    .kp-hero, .kp-hero--photo { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .kp-photo { order: -1; min-height: 0; aspect-ratio: 4 / 5; }
    .kp-hero__text { padding-top: 0; }
    .kp-hero__name { font-size: 34px; }
    .kp-sec { margin-top: 44px; }
    .kp-sec__title { font-size: 24px; }
    .kp-quote { padding: 24px 20px; }
    .kp-quote::before { position: static; display: block; height: 36px; font-size: 64px; }
    .kp-events { grid-auto-columns: 82%; gap: 16px; }
    .kp-cta { flex-direction: column; align-items: flex-start; padding: 24px; }
}
