/* =========================================================================
   sidebar.css — boczny panel desktop archive (.blog-sidebar).
   Wydzielone z blog.css (v3.7l, 2026-05-03).

   Zachowanie:
     - mobile (<1024): widget pojawia się POD główną kolumną (jako bonus, nie blocker)
     - desktop (≥1024): kolumna 320px po prawej, sticky relative do scrollowania
                        (sticky-top = utility+nav header height)

   Komponenty:
     .blog-sidebar
     .blog-sidebar__widget                    base
     .blog-sidebar__widget--cta               primary CTA box
     .blog-sidebar__widget--quote             cytat z Dzienniczka
     .blog-sidebar__title                     <h2> w widget-cie
     .blog-sidebar__list / __item             lista linków (świadectwa)
     .blog-sidebar__cta-text / __cta-btn      content CTA
     .blog-sidebar__quote                     blockquote z linkiem do paragrafu
   ========================================================================= */

.blog-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--s-5);
    min-width: 0;
}

@media (min-width: 1024px) {
    .blog-sidebar {
        position: sticky;
        top: calc(var(--header-h) + var(--s-4));
        max-height: calc(100vh - var(--header-h) - var(--s-5));
        overflow-y: auto;
        padding-right: var(--s-2); /* miejsce na scrollbar żeby nie ucinał shadow */
    }
}

/* === WIDGET BASE ========================================================= */
.blog-sidebar__widget {
    background: #fff;
    border: 1px solid var(--gray-200);
    border-radius: var(--r-card);
    padding: var(--s-5);
    box-shadow: var(--shadow-card);
}

.blog-sidebar__title {
    font-family: var(--ff-serif);
    font-size: 18px;
    font-weight: 700;
    color: var(--green-900);
    margin: 0 0 var(--s-3);
    padding-bottom: var(--s-2);
    border-bottom: 2px solid var(--accent-gold-500);
    display: inline-block;
}

/* === LISTA: świadectwa =================================================== */
.blog-sidebar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--s-3);
}
.blog-sidebar__list li { display: flex; }
.blog-sidebar__item {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-decoration: none;
    color: inherit;
    padding: var(--s-2) 0;
    width: 100%;
    border-bottom: 1px dashed var(--gray-200);
    transition: padding-left .15s ease;
}
.blog-sidebar__list li:last-child .blog-sidebar__item { border-bottom: none; }
.blog-sidebar__item:hover,
.blog-sidebar__item:focus-visible { padding-left: var(--s-2); }
.blog-sidebar__item-date {
    font-size: 12px;
    color: var(--gray-500);
    font-weight: 500;
}
.blog-sidebar__item-title {
    font-size: 14px;
    line-height: 1.4;
    color: var(--green-900);
    font-weight: 600;
    /* clamp 2 linie */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.blog-sidebar__item:hover .blog-sidebar__item-title,
.blog-sidebar__item:focus-visible .blog-sidebar__item-title { color: var(--green-700); }

.blog-sidebar__more {
    display: inline-flex;
    align-items: center;
    gap: var(--s-1);
    margin-top: var(--s-3);
    padding-top: var(--s-3);
    border-top: 1px solid var(--gray-200);
    color: var(--green-700);
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: gap .15s ease;
}
.blog-sidebar__more:hover { gap: var(--s-2); }
.blog-sidebar__more .icon { transition: transform .15s ease; }
.blog-sidebar__more:hover .icon { transform: translateX(2px); }

/* === CTA WIDGET (Konkordancja) ============================================ */
.blog-sidebar__widget--cta {
    background: linear-gradient(135deg, var(--green-50) 0%, var(--green-100) 100%);
    border-color: var(--green-300);
}
.blog-sidebar__widget--cta .blog-sidebar__title {
    color: var(--green-900);
    border-bottom-color: var(--accent-gold-500);
}
.blog-sidebar__cta-text {
    font-size: 14px;
    line-height: 1.5;
    color: var(--gray-700);
    margin: 0 0 var(--s-3);
}
.blog-sidebar__cta-btn {
    display: inline-flex;
    align-items: center;
    gap: var(--s-2);
    padding: var(--s-3) var(--s-4);
    background: var(--green-700);
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    border-radius: var(--r-btn);
    text-decoration: none;
    transition: background .15s ease, transform .15s ease;
}
.blog-sidebar__cta-btn:hover,
.blog-sidebar__cta-btn:focus-visible {
    background: var(--green-800);
    transform: translateY(-1px);
}

/* === QUOTE WIDGET (cytat dnia) ============================================ */
.blog-sidebar__widget--quote { background: var(--gray-50); }

.blog-sidebar__quote {
    margin: 0;
    padding: 0;
    font-family: var(--ff-serif);
    font-style: italic;
    font-size: 15px;
    line-height: 1.55;
    color: var(--gray-700);
    border-left: 3px solid var(--accent-gold-500);
    padding-left: var(--s-3);
}
.blog-sidebar__quote p { margin: 0 0 var(--s-3); }
.blog-sidebar__quote footer {
    font-style: normal;
    font-family: var(--ff);
    font-size: 13px;
    font-weight: 600;
}
.blog-sidebar__quote footer a {
    color: var(--green-700);
    text-decoration: none;
}
.blog-sidebar__quote footer a:hover,
.blog-sidebar__quote footer a:focus-visible { text-decoration: underline; color: var(--green-800); }

/* === MOBILE — kompresja widgetów (mniej padding-u) ========================= */
@media (max-width: 1023px) {
    .blog-sidebar { gap: var(--s-4); }
    .blog-sidebar__widget { padding: var(--s-4); }
}
