/* ============================================================
   /zostan-autorem-2/ — sekcje + formularz. Wymaga podstrony.css.
   Formularz reużywa klas .ba-* (hooki become_author.js); stylujemy je
   tutaj naszymi tokenami --u-* (become_author.css NIE jest ładowany).
   ============================================================ */

/* ---- KOGO SZUKAMY ---- */
.av2-personas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.av2-persona { background: var(--u-paper); border: 1px solid var(--u-border); border-radius: var(--u-radius-sm); box-shadow: var(--u-shadow); padding: 26px 22px; }
.av2-persona__icon { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 14px; background: var(--u-primary-tint); color: var(--u-primary-dark); font-size: 1.35rem; margin-bottom: 16px; }
.av2-persona h3 { margin: 0 0 8px; font-size: 1rem; font-weight: 800; color: var(--u-ink); line-height: 1.25; }
.av2-persona p { margin: 0; font-size: .87rem; line-height: 1.55; color: var(--u-ink-3); }

/* ---- CO ZYSKUJESZ ---- */
.av2-benefits { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.av2-benefit { padding: 8px 6px; }
.av2-benefit__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 13px; background: var(--u-primary-tint); color: var(--u-primary-dark); font-size: 1.2rem; margin-bottom: 14px; }
.av2-benefit h3 { margin: 0 0 8px; font-size: .95rem; font-weight: 800; color: var(--u-ink); line-height: 1.25; }
.av2-benefit p { margin: 0; font-size: .85rem; line-height: 1.55; color: var(--u-ink-3); }

/* ---- PROCES (01-04 ze strzałkami) ---- */
.av2-process { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: none; }
.av2-pstep { position: relative; padding-right: 8px; }
.av2-pstep:not(:last-child)::after {
    content: "→"; position: absolute; top: 4px; right: -12px; color: var(--u-primary);
    font-weight: 700; opacity: .55;
}
.av2-pstep__num {
    display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; border-radius: 50%; background: var(--u-primary-tint);
    color: var(--u-primary-dark); font-weight: 800; font-size: 1.05rem; margin-bottom: 14px;
}
.av2-pstep h3 { margin: 0 0 8px; font-size: .98rem; font-weight: 800; color: var(--u-ink); }
.av2-pstep p { margin: 0; font-size: .85rem; line-height: 1.55; color: var(--u-ink-3); }

/* ---- ZASADY PUBLIKACJI ---- */
.av2-rules-section { background: var(--u-bg); border-radius: var(--u-radius); padding: 36px 38px; }
.av2-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.av2-rules li { display: flex; align-items: flex-start; gap: 13px; background: #fff; border: 1px solid var(--u-border); border-radius: var(--u-radius-sm); padding: 16px 18px; }
.av2-rules li > i { flex: none; margin-top: 2px; color: var(--u-primary); font-size: 1.15rem; }
.av2-rules li div { font-size: .92rem; line-height: 1.55; color: var(--u-ink-3); }
.av2-rules li b { color: var(--u-ink); font-weight: 800; }

/* ---- ZASADY ROZLICZEŃ ---- */
.av2-billing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.av2-bill { background: var(--u-paper); border: 1px solid var(--u-border); border-radius: var(--u-radius-sm); box-shadow: var(--u-shadow); padding: 26px 24px; }
.av2-bill__num { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; background: var(--u-primary); color: #fff; font-weight: 800; margin-bottom: 14px; }
.av2-bill h3 { margin: 0 0 8px; font-size: 1.02rem; font-weight: 800; color: var(--u-ink); }
.av2-bill p { margin: 0; font-size: .88rem; line-height: 1.55; color: var(--u-ink-3); }

/* ---- BANNER SPOŁECZNOŚĆ ---- */
.av2-community {
    position: relative; overflow: hidden; border-radius: var(--u-radius);
    background: linear-gradient(120deg, rgba(11,31,58,.72), rgba(26,134,184,.62)),
                url("../img/landing/zespol-3.jpg") center/cover no-repeat;
    color: #fff;
}
.av2-community__copy { padding: 44px 46px; }
.av2-community__copy h2 { margin: 0 0 8px; font-size: clamp(1.4rem, 2.6vw, 1.8rem); font-weight: 800; color: #fff; }
.av2-community__copy p { margin: 0 0 22px; font-size: 1rem; color: rgba(255,255,255,.9); }

/* ---- FORMULARZ ---- */
.av2-form-section { background: var(--u-bg); border-radius: var(--u-radius); padding: 38px 40px; }
.av2-form { margin-top: 4px; }
.ba-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.ba-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ba-field--full { grid-column: 1 / -1; }
.ba-field label { font-size: .88rem; font-weight: 700; color: var(--u-ink-2); }
.ba-field label small { font-weight: 500; color: var(--u-ink-muted); }
.ba-req { color: var(--u-danger, #DC2626); }
.ba-field input, .ba-field textarea {
    width: 100%; padding: 11px 13px; font: inherit; font-size: .94rem;
    color: var(--u-ink); background: #fff; border: 1px solid var(--u-border);
    border-radius: 9px; transition: border-color .15s ease, box-shadow .15s ease;
}
.ba-field input::placeholder, .ba-field textarea::placeholder { color: var(--u-ink-muted); }
.ba-field input:focus, .ba-field textarea:focus {
    outline: none; border-color: var(--u-primary);
    box-shadow: 0 0 0 3px rgba(39, 163, 220, .15);
}
.ba-field textarea { resize: vertical; min-height: 70px; }
.ba-field input[type="file"] { padding: 9px 12px; background: #fff; cursor: pointer; }
.ba-counter { align-self: flex-end; font-size: .76rem; color: var(--u-ink-muted); }
.ba-file-hint { font-size: .78rem; color: var(--u-ink-muted); }
.ba-checkbox-row label { display: flex; align-items: flex-start; gap: 10px; font-size: .88rem; font-weight: 500; color: var(--u-ink-3); line-height: 1.5; }
.ba-checkbox-row input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--u-primary); }
.ba-checkbox-row a { color: var(--u-primary-dark); }
.lm-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ba-form-actions { margin-top: 22px; }
.ba-form-feedback { margin-top: 16px; font-size: .92rem; }
.ba-form-feedback:empty { display: none; }
.ba-form-feedback.is-error {
    padding: 13px 16px; border-radius: 10px; color: #9B1C1C;
    background: #FEF2F2; border: 1px solid #FCA5A5;
}

/* ---- FAQ ---- */
.av2-faq { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.av2-faq__item { background: var(--u-paper); border: 1px solid var(--u-border); border-radius: var(--u-radius-sm); padding: 4px 18px; }
.av2-faq__item summary {
    list-style: none; cursor: pointer; padding: 14px 0; font-weight: 700;
    color: var(--u-ink); font-size: .94rem; display: flex; justify-content: space-between;
    align-items: center; gap: 12px;
}
.av2-faq__item summary::-webkit-details-marker { display: none; }
.av2-faq__item summary::after { content: "\f078"; font-family: "Font Awesome 5 Free"; font-weight: 900; color: var(--u-primary); font-size: .8rem; transition: transform .2s ease; }
.av2-faq__item[open] summary::after { transform: rotate(180deg); }
.av2-faq__item p { margin: 0 0 16px; font-size: .89rem; line-height: 1.6; color: var(--u-ink-3); }
.av2-faq__item a { color: var(--u-primary-dark); }

/* ---- RESPONSIVE ---- */
@media (max-width: 920px) {
    .av2-personas { grid-template-columns: repeat(2, 1fr); }
    .av2-benefits { grid-template-columns: repeat(3, 1fr); }
    .av2-process { grid-template-columns: repeat(2, 1fr); }
    .av2-pstep:nth-child(2)::after { display: none; }
    .av2-billing { grid-template-columns: 1fr; }
    .av2-faq { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .av2-personas { grid-template-columns: 1fr; }
    .av2-benefits { grid-template-columns: 1fr; }
    .av2-process { grid-template-columns: 1fr; }
    .av2-pstep::after { display: none !important; }
    .ba-form-grid { grid-template-columns: 1fr; }
    .av2-form-section, .av2-rules-section { padding: 28px 22px; }
    .av2-community__copy { padding: 34px 26px; }
}
