/* ─────────────────────────────────────────────────────────
   Override core: .is-layout-constrained > * dostaje
   margin-left/right:auto (centruje). W wierszach autora
   chcemy wyrównanie do lewej — zerujemy te marginesy.
   ───────────────────────────────────────────────────────── */
body.author .author-header .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.author .position-row > *,
body.author .education-row > *,
body.author .author-name > *,
body.author .author-meta > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: none !important;
}

/* ─────────────────────────────────────────────────────────
   Puste pola MFB — nie pokazuj wrappera ani pustego wiersza.
   MFB przy braku wartości renderuje <div class="value"></div>.
   ───────────────────────────────────────────────────────── */

/* Ukryj pojedynczy blok MFB, którego value jest puste
   (ale tylko gdy nie ma prefix/suffix — żeby nie chować np. "LEKI.PL"). */
body.author .wp-block-mfb-meta-field-block:has(> .value:empty):not(:has(.prefix)):not(:has(.suffix)) {
    display: none !important;
}

/* Ukryj cały wiersz, jeśli wszystkie jego bloki MFB są puste */
body.author .position-row.wp-block-group:not(:has(.wp-block-mfb-meta-field-block .value:not(:empty))):not(:has(.suffix:not(:empty))),
body.author .education-row.wp-block-group:not(:has(.value:not(:empty))) {
    display: none !important;
}

/* ─────────────────────────────────────────────────────────
   Nagłówek autora: grid [okrąg] [info-fill] [profile-naukowe]
   Klasa: author-header na zewnętrzny wp-block-group
   ───────────────────────────────────────────────────────── */
body.author .author-header > .wp-block-group {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    gap: 28px !important;
    align-items: center !important;
    justify-content: initial !important;
}

/* < 930px: Profile naukowe schodzą pod spód, na całą szerokość */
@media (max-width: 930px) {
    body.author .author-header > .wp-block-group {
        grid-template-columns: auto 1fr !important;
    }
    body.author .author-header > .wp-block-group > .profiles-card {
        grid-column: 1 / -1 !important;
        width: auto !important;
        max-width: none !important;
    }
    /* Wewnątrz card flex-kontenery mogą się zwężać + ORCID łamie się */
    body.author .profiles-card .value,
    body.author .profiles-card .value > div,
    body.author .profiles-card .value a {
        min-width: 0;
    }
    body.author .profiles-card .value a > span {
        min-width: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

/* < 360px: dopuszczamy że card może być węższa niż 249 */
@media (max-width: 360px) {
    body.author .profiles-card.wp-block-group {
        min-width: 0;
    }
}

/* < 340px: zmniejszamy boczny padding sekcji .author-header
   (Lemmony FSE daje has-global-padding ze zmiennej root padding) */
@media (max-width: 340px) {
    body.author .author-header,
    body.author .author-header .has-global-padding,
    body.author .author-header.has-global-padding {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* < 400px: avatar w osobnej linii (wycentrowany), info w drugiej (1-kolumnowy grid) */
@media (max-width: 400px) {
    body.author .author-header > .wp-block-group {
        grid-template-columns: 1fr !important;
    }
    body.author .author-header > .wp-block-group > :first-child {
        justify-self: center !important;
    }
}
body.author .position-row {
    font-size: 11px;
    font-weight: 700;
    color: rgb(11, 58, 153);
    letter-spacing: 0.8px;
    margin-bottom: 6px;
}

body.author .position-row,
body.author .position-row * {
    text-transform: uppercase !important;
}

/* Kropka idealnie pomiędzy blokami MFB w wierszu position-row */
body.author .position-row.wp-block-group {
    gap: 0 !important;
}

body.author .position-row .wp-block-mfb-meta-field-block:not(:last-child)::after {
    content: " · ";
    white-space: pre;
}

/* Nagłówek imię i nazwisko autora (np. "dr Jan Nowak" + verified badge) */
body.author .author-name.wp-block-group {
    font-size: 34px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    letter-spacing: -0.6px !important;
    color: #1a1f2e !important;
    line-height: 1.1 !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
}

body.author .author-name.wp-block-group::after {
    content: "";
    display: inline-block;
    width: 16px;
    height: 16px;
    background-image: url('../icons/verified.svg');
    background-repeat: no-repeat;
    background-size: contain;
    flex-shrink: 0;
}

/* Pierwszy wpis z wyksztalcenie — tytuł + uczelnia */
body.author .education-row {
    margin-top: 6px;
    font-size: 13.5px;
    color: #5a6578;
}

/* Meta wiersz autora: [ikona] PWZ: 12345  [ikona] Publikacje: 2  ... */
body.author .author-meta.wp-block-group {
    margin-top: 14px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 4px !important;        /* odstęp wewnątrz pary: ikona/label/wartość */
    align-items: center !important;
    font-size: 12.5px !important;
    color: #1a1f2e !important;
    font-weight: 700 !important;  /* wartości (plain text) są pogrubione */
}

body.author .author-meta h4,
body.author .author-meta h4.wp-block-heading {
    font-weight: 400 !important;
    color: #5a6578 !important;
    margin: 0 !important;
    font-size: 12.5px !important;
    line-height: 1 !important;
    display: inline !important;
}

body.author .author-meta .wp-block-image {
    margin: 0 !important;
    line-height: 1 !important;
}

body.author .author-meta .wp-block-image img {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
}

/* Druga (i kolejne) para — większy gap od poprzedniej pary */
body.author .author-meta figure.wp-block-image:not(:first-of-type) {
    margin-left: 14px !important;
}

/* ─────────────────────────────────────────────────────────
   Karta "Profile naukowe" — biały box z obramowaniem
   Klasa: profiles-card (na wp-block-group zawierający heading + MFB social_links)
   ───────────────────────────────────────────────────────── */
body.author .profiles-card.wp-block-group {
    background: #fff;
    border-radius: 6px;
    padding: 14px 16px;
    border: 1px solid #e8edf5;
    min-width: 249px;
    width: auto;
    max-width: 300px;
}

/* Wąskie ekrany — profile-card ścisłe, mniej paddingu, mniejsza czcionka */
@media (max-width: 600px) {
    body.author .profiles-card.wp-block-group {
        padding: 10px 12px;
    }
    body.author .profiles-card h3,
    body.author .profiles-card h3.wp-block-heading {
        font-size: 9.5px;
        letter-spacing: 0.4px;
    }
    body.author .profiles-card a {
        font-size: 12px;
    }
}
@media (max-width: 400px) {
    body.author .profiles-card.wp-block-group {
        padding: 8px 10px;
    }
    body.author .profiles-card a {
        font-size: 11px;
    }
}

/* ─────────────────────────────────────────────────────────
   Profile naukowe — wewnętrzne <a> mają flex layout z spanami.
   Numer ORCID "0000-0002-0616-5901" trzyma min-width na całej karcie.
   Pozwalamy <span> się łamać / kurczyć żeby card mogła być węższa.
   ───────────────────────────────────────────────────────── */
body.author .profiles-card .value a {
    min-width: 0 !important;
}
body.author .profiles-card .value a > span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
}

body.author .profiles-card h3,
body.author .profiles-card h3.wp-block-heading {
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #8a94a6 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

/* Zeruj block-gap WP between children — kontroluje samo margin-bottom h3 */
body.author .profiles-card.is-layout-constrained > * + *,
body.author .profiles-card > * + * {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* ─────────────────────────────────────────────────────────
   Sekcja "Towarzystwa naukowe" / "Koła naukowe"
   Klasa: societies-section (na wp-block-group z h3 + MFB author_societies)
   ───────────────────────────────────────────────────────── */
body.author .societies-section.wp-block-group {
    background: transparent !important;
    padding: 0 !important;
}

body.author .societies-section h3,
body.author .societies-section h3.wp-block-heading {
    font-size: 11px !important;
    color: #8a94a6 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 10px !important;
    line-height: 1.2 !important;
}

/* Zeruj block-gap między h3 a listą */
body.author .societies-section.is-layout-constrained > * + *,
body.author .societies-section > * + * {
    margin-block-start: 0 !important;
    margin-top: 0 !important;
}

/* Okrąg awatara/inicjałów autora — stały wymiar 128x128 */
body.author .author-avatar.wp-block-lemmony-circle,
body.author .author-avatar.lemmony-circle {
    width: 128px !important;
    height: 128px !important;
    min-width: 128px !important;
    min-height: 128px !important;
    max-width: 128px !important;
    flex-shrink: 0 !important;
    font-size: 48.64px !important;
}

body.author .author-avatar .acf-innerblocks-container,
body.author .author-avatar .wp-block-mfb-meta-field-block,
body.author .author-avatar .wp-block-mfb-meta-field-block .value {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

body.author .author-avatar img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    display: block !important;
}

/* Sekcja autora — odstęp od poprzedniej */
body.author .author-section {
    margin-top: 28px;
}

/* Druga kolumna w sekcji "Kim jestem + Kontakt" — max 450px */
body.author .info-column.wp-block-column {
    max-width: 450px;
}

/* ─────────────────────────────────────────────────────────
   Tytuł sekcji: ikona + h2/h3 + opcjonalny badge z liczbą
   Klasa: section-title
   ───────────────────────────────────────────────────────── */
body.author .section-title.wp-block-group {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 18px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #e8edf5 !important;
}

body.author .section-title .wp-block-image {
    margin: 0 !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

body.author .section-title .wp-block-image img {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
}

body.author .section-title h2,
body.author .section-title h2.wp-block-heading,
body.author .section-title h3,
body.author .section-title h3.wp-block-heading {
    margin: 0 !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1a1f2e !important;
    letter-spacing: -0.2px !important;
    line-height: 1.2 !important;
}

/* Badge z liczbą — dowolny MFB block lub element z klasą .count */
body.author .section-title .count,
body.author .section-title .wp-block-mfb-meta-field-block {
    font-size: 12px !important;
    color: #5a6578 !important;
    font-weight: 600 !important;
    background: #eef3fb !important;
    padding: 3px 10px !important;
    border-radius: 12px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* Lista publikacji naukowych */
body.author .publications-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

body.author .publication-card {
    border-width: 1px 1px 1px 3px;
    border-style: solid;
    border-color: #e8edf5 #e8edf5 #e8edf5 #2da85b;
    border-radius: 6px;
    padding: 16px 20px;
    background: #fff;
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

body.author .publication-card__year-wrap {
    flex-shrink: 0;
    width: 56px;
    text-align: center;
    padding-top: 2px;
}

body.author .publication-card__year {
    font-size: 22px;
    font-weight: 700;
    color: rgb(11, 58, 153);
    font-variant-numeric: tabular-nums;
    line-height: 1;
}

body.author .publication-card__type {
    font-size: 10px;
    color: #2da85b;
    margin-top: 6px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 700;
}

body.author .publication-card__body {
    flex: 1 1 0;
    min-width: 0;
}

body.author .publication-card__authors {
    font-size: 11.5px;
    color: #5a6578;
    margin-bottom: 4px;
}

body.author .publication-card__title {
    font-size: 14.5px;
    font-weight: 600;
    color: #1a1f2e;
    margin: 0 0 8px;
    line-height: 1.35;
}

body.author .publication-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    align-items: center;
    font-size: 11.5px;
    color: #5a6578;
}

body.author .publication-card__journal {
    font-style: italic;
}

body.author .publication-card__actions {
    margin-top: 10px;
    display: flex;
    gap: 8px;
    align-items: center;
}

body.author .publication-card__doi {
    font-size: 11.5px;
    color: rgb(11, 58, 153);
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

body.author .publication-card__doi:hover {
    text-decoration: underline;
}

/* ─────────────────────────────────────────────────────────
   Kontakt — sekcja z paskiem po lewej
   Klasa: contact-card (dodaj do wp-block-group przez sidebar)
   ───────────────────────────────────────────────────────── */
body.author .contact-card.wp-block-group.has-background {
    background: #eef3fb !important;
    border-radius: 4px;
    padding: 16px 18px !important;
    border-left: 3px solid #2da85b;
}

body.author .contact-card h3,
body.author .contact-card h3.wp-block-heading {
    font-size: 11px !important;
    color: #8a94a6 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 4px !important;
    line-height: 1.2 !important;
}

/* Każdy wiersz kontaktowy (email/linkedin) */
body.author .contact-card > .wp-block-group {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 10px !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    font-size: 13px !important;
    color: #1a1f2e !important;
    line-height: 1.3 !important;
}

/* Ikonka (z bloku Image) */
body.author .contact-card .wp-block-image {
    margin: 0 !important;
    flex-shrink: 0 !important;
}

body.author .contact-card .wp-block-image img {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

/* Zdejmij domyślne style linków w karcie */
body.author .contact-card a {
    text-decoration: none;
    color: inherit;
}

/* Wrapper MFB w wierszu — schowaj domyślny margin paragraph itp. */
body.author .contact-card .wp-block-mfb-meta-field-block,
body.author .contact-card p {
    margin: 0 !important;
}

/* Wewnętrzny flex MFB linkedin — wypełnia szerokość wiersza, strzałka na prawo
   (działa dla hideWrapper:true bo target bezpośrednio div z author_social_link) */
body.author .contact-card > .wp-block-group > div[style*="display:flex"],
body.author .contact-card .wp-block-mfb-meta-field-block > div[style*="display:flex"] {
    width: 100% !important;
    flex: 1 1 100% !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: #1a1f2e !important;
}

body.author .contact-card > .wp-block-group > div[style*="display:flex"] > span:first-of-type,
body.author .contact-card .wp-block-mfb-meta-field-block > div[style*="display:flex"] > span:first-of-type {
    color: #1a1f2e !important;
    flex: 1 1 0 !important;
}

body.author .contact-card > .wp-block-group > div[style*="display:flex"] > a,
body.author .contact-card .wp-block-mfb-meta-field-block > div[style*="display:flex"] > a {
    margin-left: auto !important;
}

/* ─────────────────────────────────────────────────────────
   STICKY TAB NAV na stronie autora
   Klasa "author-tabs" na wp:group (flex). W środku:
     - wp:paragraph z <a href="#o-mnie">O mnie</a>
     - 3× wp:meta-field-block z filtrami author_tab_*_link
       (zwracają już gotowy <a>...· N</a> lub '' gdy 0)
   ───────────────────────────────────────────────────────── */
body.author .author-tabs {
    background: #fff;
    border-top: 1px solid #e8edf5;
    padding: 0 36px;
    display: flex;
    gap: 0;
    box-shadow: 0 1px 0 rgba(0,0,0,0.04);
    margin: 0;
}

body.author .author-tabs p,
body.author .author-tabs .wp-block-mfb-meta-field-block {
    margin: 0;
}

body.author .author-tabs a {
    display: inline-block;
    padding: 14px 18px;
    font-size: 13px;
    font-weight: 600;
    color: #5a6578;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -1px;
    transition: color 0.15s, border-color 0.15s;
}

body.author .author-tabs a:hover {
    color: #0b3a99;
    border-bottom-color: #0b3a99;
    text-decoration: none;
}

/* Scroll-skok do sekcji omija sticky bar */
body.author :target {
    scroll-margin-top: 70px;
}

/* ─────────────────────────────────────────────────────────
   FIX: Slick slider tworzy .slick-track o szerokości 8400px+
   (24 itemy × ~350px) który wystaje poza viewport gdy
   slick.css nie jest enqueueowany na stronie autora.
   .slick-list MUSI mieć overflow:hidden żeby ucinać.
   ───────────────────────────────────────────────────────── */
.slick-list { overflow: hidden !important; }
.slick-slider { max-width: 100%; }

/* ─────────────────────────────────────────────────────────
   MOBILE: < 600px
   - .author-tabs: zminimalizuj padding, dopuść flex-wrap
     (Gutenberg dorzuca .is-nowrap → wymuszamy override)
   - .position-row: na małym ekranie zawijaj między MFB
     (każdy MFB w osobnym wierszu), ale w środku jednego
     MFB tekst NIE łamie się (white-space: nowrap)
   ───────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    body.author .author-tabs {
        padding: 0 !important;
        flex-wrap: wrap !important;
        gap: 0;
    }
    body.author .author-tabs.is-nowrap {
        flex-wrap: wrap !important;
    }
    body.author .author-tabs a {
        padding: 10px 10px !important;
        font-size: 12px !important;
    }

    body.author .position-row {
        flex-wrap: wrap !important;
    }
    body.author .position-row.is-nowrap {
        flex-wrap: wrap !important;
    }
    body.author .position-row > .wp-block-mfb-meta-field-block {
        white-space: nowrap;
        flex-shrink: 0;
    }
}

/* ─────────────────────────────────────────────────────────
   Post-template (AQL / wp:query) grid auto-responsywny.
   - ≤ 1300px:  3 kolumny
   - ≤  781px:  2 kolumny
   - ≤  480px:  1 kolumna
   Kolejność media queries: od największych do najmniejszych,
   żeby cascade nadpisywało prawidłowo.
   ───────────────────────────────────────────────────────── */
@media (max-width: 1300px) {
    body.author .wp-block-post-template.is-layout-grid,
    body.author .wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 781px) {
    body.author .wp-block-post-template.is-layout-grid,
    body.author .wp-block-post-template-is-layout-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}
@media (max-width: 480px) {
    body.author .wp-block-post-template.is-layout-grid,
    body.author .wp-block-post-template-is-layout-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ─────────────────────────────────────────────────────────
   .section-title: ikona po lewej + h2 + licznik + (opcjonalny
   wp:image jako ostatni element grupy) wystający na prawo
   poza blok. Lekoludek-kciuk przy nagłówku "Artykuły" — może
   też być przy innych sekcjach jeśli dodasz wp:image na końcu.
   ───────────────────────────────────────────────────────── */
body.author .section-title {
    position: relative !important;
    overflow: visible !important;
    align-items: center !important;
}

body.author .section-title > .wp-block-image:last-child {
    margin-left: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-right: 40px !important;
    position: relative;
    z-index: 1;
    pointer-events: none;
    /* wystaje poza grupę w górę, w pionie wycentrowany */
    transform: translateY(-25%);
    flex-shrink: 0;
}

body.author .section-title > .wp-block-image:last-child img {
    display: block !important;
    max-width: none !important;
    height: 90px !important;
    width: auto !important;
    aspect-ratio: auto !important;
}

@media (max-width: 600px) {
    body.author .section-title > .wp-block-image:last-child img {
        height: 60px !important;
    }
    body.author .section-title > .wp-block-image:last-child {
        margin-right: 20px !important;
        transform: translateY(-20%);
    }
}

/* ─────────────────────────────────────────────────────────
   .author-meta: wiersz z PWZ + Publikacje (każdy jako
   wewnętrzna grupa: ikona + nagłówek + licznik/wartość).
   - Pierwsza grupa (PWZ) ma margin-right: 16px
   - Wewnątrz każdej grupy gap 6px (ikona + tekst)
   ───────────────────────────────────────────────────────── */
body.author .author-meta {
    gap: 0 !important;
    align-items: center;
}

body.author .author-meta > .wp-block-group:first-of-type {
    margin-right: 16px !important;
}

body.author .author-meta > .wp-block-group {
    gap: 6px !important;
    align-items: center;
}

body.author .author-meta h4 {
    margin: 0;
}

body.author .author-meta .wp-block-image {
    margin: 0;
}
