/* Styles for single-post pages (e.g., /aktualnosci/aktualnosc1/) */

body.page-single-post {
    background-color: var(--palette-paper, #ffffff);
    color: var(--palette-ink, #0a0a0a);
    padding-top: var(--navbar-offset);
}

body.page-single-post > main {
    padding-bottom: var(--section-y, clamp(2.5rem, 6vw, 4rem));
}

.single-post-container {
    width: 100%;
}

.single-post-layout {
    width: 100%;
}

.single-post-hero {
    display: block;
    width: 100%;
}

.single-post-hero-main,
.single-post-body {
    min-width: 0;
    width: 100%;
}

.single-post-main {
    min-width: 0;
    width: 100%;
    padding-right: 0;
}

.single-post-sidebar {
    min-width: 0;
    width: 100%;
}

/* --- Breadcrumbs --- */
.breadcrumbs,
.np-yoast-breadcrumbs {
    position: fixed;
    top: var(--navbar-offset);
    left: 0;
    width: 100%;
    z-index: 999;
    background-color: #f5f5f5; /* 0% transparent (solid color) */
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    box-sizing: border-box;
}

.breadcrumbs + *,
.np-yoast-breadcrumbs + * {
    margin-top: 80px; /* 40px height + 40px gap requested */
}

.np-yoast-breadcrumbs {
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    font-weight: 400;
    color: rgb(10 10 10 / 0.55);
}

.np-yoast-breadcrumbs a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.np-yoast-breadcrumbs a:hover,
.np-yoast-breadcrumbs a:focus-visible {
    color: var(--primary);
    outline: none;
}

.np-yoast-breadcrumbs > span {
    display: block;
    width: var(--article-content-width);
    max-width: none;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0 auto;
    width: var(--article-content-width);
    max-width: none;
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    font-weight: 400;
    color: rgb(10 10 10 / 0.55);
    box-sizing: border-box;
}

.breadcrumbs__link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.breadcrumbs__link:hover,
.breadcrumbs__link:focus-visible {
    color: var(--primary);
    outline: none;
}

.breadcrumbs__link--accent {
    color: var(--primary);
    font-weight: 500;
}

.breadcrumbs__link--accent:hover,
.breadcrumbs__link--accent:focus-visible {
    color: var(--primary-hover);
}

.breadcrumbs__separator {
    color: rgb(10 10 10 / 0.35);
    font-weight: 400;
    user-select: none;
}

.breadcrumbs__current {
    color: rgb(10 10 10 / 0.38);
    font-weight: 500;
}

/* --- Nagłówek wpisu + meta --- */
.single-post-header {
    margin-bottom: clamp(1.5rem, 3.5vw, 2.25rem);
}

.single-post-sidebar-section--hero-links {
    margin-bottom: clamp(1.2rem, 3vw, 1.75rem);
}

.single-post-title {
    margin: 0 0 clamp(0.75rem, 1.8vw, 1.15rem);
    font-size: clamp(2.25rem, 5vw, 3.1rem);
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: -0.04em;
    color: var(--text-dark);
}

.single-post-header__lead {
    margin: 0 0 clamp(0.65rem, 1.6vw, 0.95rem);
    max-width: none;
    font-size: clamp(0.9375rem, 1.65vw, 1.0625rem);
    font-weight: 400;
    line-height: 1.55;
    color: rgb(10 10 10 / 0.58);
}

.single-post-header__prefix {
    margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
    font-size: clamp(0.6875rem, 1.1vw, 0.75rem);
    font-weight: 500;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    line-height: 1.3;
    color: var(--primary, #39732d);
}

.single-post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.75rem clamp(0.85rem, 2vw, 1.25rem);
    font-size: clamp(0.75rem, 1.2vw, 0.8125rem);
    font-weight: 400;
    color: rgb(10 10 10 / 0.55);
}

.single-post-author,
.single-post-read-time,
.single-post-date {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.single-post-author-avatar {
    display: block;
    width: clamp(20px, 2.5vw, 24px);
    height: clamp(20px, 2.5vw, 24px);
    min-width: 0;
    border-radius: 50%;
    object-fit: cover;
    background: var(--palette-bg-placeholder);
}

.single-post-read-time i,
.single-post-date i {
    font-size: 0.85em;
    color: rgb(10 10 10 / 0.38);
}

/* Badże kategorii jak `.posts-rail .post-card__tag` */
.single-post-meta__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.38em 0.95em;
    font-size: clamp(0.72rem, 1.15vw, 0.8rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.01em;
    color: var(--white);
    background: var(--primary);
    border-radius: var(--radius-posts-tag);
    border: none;
}

.single-post-meta__badge--muted {
    color: var(--text-dark);
    background: var(--palette-brand-alpha-6);
}

/* --- Share buttons (mobile) --- */
.single-post-share-mobile {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.85rem;
    padding: clamp(1rem, 2.2vw, 1.25rem) 0;
    margin-bottom: clamp(1.5rem, 3.5vw, 2.25rem);
    border-top: 1px solid rgb(10 10 10 / 0.08);
    border-bottom: 1px solid rgb(10 10 10 / 0.08);
}

.single-post-share-label {
    font-size: clamp(0.75rem, 1.5vw, 0.8125rem);
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dark);
}

.single-post-social-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(0.5rem, 1.2vw, 0.75rem);
}

.single-post-share-mobile .single-post-social-icons {
    justify-content: center;
}

.single-post-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: clamp(34px, 4.5vw, 40px);
    height: clamp(34px, 4.5vw, 40px);
    font-size: clamp(0.85rem, 1.8vw, 1rem);
    color: rgb(10 10 10 / 0.45);
    background: rgb(10 10 10 / 0.05);
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.22s ease;
}

.single-post-social-icon:hover {
    color: var(--primary);
    background: var(--primary-soft);
    text-decoration: none;
}

.single-post-social-icon:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 3px;
    text-decoration: none;
}

/* --- Featured image --- */
.single-post-featured-image {
    margin: 0;
    border-radius: var(--radius-posts-media);
    overflow: hidden;
    background: var(--palette-bg-placeholder);
}

.single-post-featured-image img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}

.single-post-body {
    padding-top: clamp(0.5rem, 1.5vw, 1rem);
}

/* --- Centering containers — ta sama szerokość co split tekst + obraz --- */
.single-post-header,
.single-post-featured-image,
.single-post-content,
.single-post-main > .single-post-gallery,
.single-post-main > .knowledge-steps-full {
    width: var(--article-content-width);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.single-post-header {
    padding-left: 0;
    padding-right: 0;
}

.single-post-featured-image {
    padding: 0;
    margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.single-post-content {
    width: var(--article-content-width);
}

/* Bloki treści — pełna szerokość kontenera (bez węższej kolumny 800px) */
.single-post-content > p,
.single-post-content > h1,
.single-post-content > h2,
.single-post-content > h3,
.single-post-content > h4,
.single-post-content > h5,
.single-post-content > h6,
.single-post-content > ul,
.single-post-content > ol,
.single-post-content > blockquote,
.single-post-content > iframe,
.single-post-content > pre,
.single-post-content > code,
.single-post-content > hr,
.single-post-content > .wp-block-buttons,
.single-post-content > .wp-block-columns,
.single-post-content > .wp-block-group:not(.alignfull):not(.alignwide),
.single-post-content > .wp-block-quote,
.single-post-content > .wp-block-separator,
.single-post-content > .wp-block-heading,
.single-post-content > .wp-block-list,
.single-post-content > .wp-block-shortcode,
.single-post-content > .wp-block-html,
.single-post-content > figure:not(.single-post-gallery) {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Tabele: style w assets/css/tables.css */

/* Let custom full-width blocks/sections take 100% of the screen/container (100vw stretch) */
.single-post-content > .np-section {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: none;
}

.single-post-content > .zastosowanie-faq-block {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.single-post-content > .single-post-gallery,
.single-post-content > .knowledge-steps-full {
    width: 100%;
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Poradniki bez cpt-entry-shell — bloki core bezpośrednio w .site-main */
body.page-single-post .site-main > :is(
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    ul,
    ol,
    blockquote,
    hr,
    pre,
    .wp-block-heading,
    .wp-block-list,
    .wp-block-quote,
    .wp-block-buttons,
    .wp-block-columns,
    .wp-block-group:not(.alignfull):not(.alignwide),
    .wp-block-table,
    table,
    figure
) {
    width: var(--article-content-width);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* --- Content (typografia) --- */
.single-post-content h2 {
    margin-top: clamp(2.5rem, 5vw, 3.5rem);
    margin-bottom: clamp(1.25rem, 2.8vw, 1.75rem);
    font-size: clamp(1.85rem, 4vw, 2.5rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.03em;
    color: var(--text-dark);
}

.single-post-content h3 {
    margin-top: clamp(1.75rem, 4vw, 2.25rem);
    margin-bottom: clamp(0.85rem, 2vw, 1.15rem);
    font-size: clamp(1.4rem, 3.2vw, 1.8rem);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: -0.025em;
    color: var(--text-dark);
}

.single-post-content p {
    margin-top: 0;
    margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
    font-size: clamp(0.9375rem, 1.65vw, 1.0625rem);
    line-height: 1.65;
    color: var(--text-main);
}

.single-post-content ul {
    margin-top: clamp(1.5rem, 3vw, 2rem);
    margin-bottom: clamp(2rem, 4.5vw, 3rem);
    padding-left: clamp(1.5rem, 3.5vw, 2.25rem);
    list-style: none;
}

.single-post-content li {
    position: relative;
    margin-bottom: 0.85em;
    padding-left: 1.5em;
    font-size: clamp(0.9375rem, 1.65vw, 1.0625rem);
    line-height: 1.65;
    color: var(--text-main);
}

.single-post-content li:last-child {
    margin-bottom: 0;
}

.single-post-content li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 0.5em;
    height: 0.5em;
    background: var(--primary);
    border-radius: 50%;
}

/* --- Sidebar (desktop) --- */
.single-post-share-desktop {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 0;
    margin-bottom: clamp(2rem, 4.5vw, 3rem);
    border: none;
    background: transparent;
}

.single-post-sidebar-section {
    box-sizing: border-box;
    padding: clamp(1rem, 2vw, 1.25rem);
    border-radius: var(--radius-inner, 8px);
    background: var(--palette-paper, #ffffff);
    border: 1px solid var(--palette-shadow-ink-8);
    box-shadow:
        0 1px 0 rgb(255 255 255 / 0.92) inset,
        0 1px 2px var(--palette-shadow-ink-4),
        0 10px 28px -10px var(--palette-shadow-ink-6);
    margin-bottom: clamp(1.5rem, 3.2vw, 2rem);
    max-width: 100%;
    overflow: hidden;
}

.single-post-sidebar-section:last-child {
    margin-bottom: 0;
}

.single-post-sidebar-title {
    margin: 0 0 clamp(0.85rem, 2vw, 1.15rem);
    padding-left: 0.55rem;
    border-left: 3px solid var(--palette-news-all-bg, #487236);
    font-size: clamp(0.8125rem, 1.2vw, 0.875rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--palette-news-ink, #000000);
}

.single-post-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5rem;
}

.single-post-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: clamp(0.45rem, 1.1vw, 0.52rem) clamp(0.72rem, 1.5vw, 0.9rem);
    font-size: clamp(0.7rem, 1.15vw, 0.78rem);
    font-weight: 500;
    line-height: 1.25;
    letter-spacing: 0.02em;
    color: var(--text-dark);
    background: var(--primary-soft);
    border: none;
    border-radius: var(--radius-inner, 8px);
    text-decoration: none;
    transition:
        color 0.2s ease,
        background 0.2s ease;
}

.single-post-tag:hover {
    color: var(--primary);
    background: var(--palette-brand-alpha-10);
    border: none;
}

.single-post-tag:focus-visible {
    color: var(--primary);
    background: var(--palette-brand-alpha-10);
    border: none;
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* --- Powiązane wpisy (sidebar): kompaktowa lista, tokeny jak posts-rail --- */
.single-post-sidebar-section--related {
    padding: clamp(0.8rem, 1.55vw, 1rem);
    background: var(--palette-news-bg, var(--palette-paper));
    border: 1px solid var(--palette-shadow-ink-8);
    box-shadow: 0 1px 0 rgb(255 255 255 / 0.9) inset;
}

.single-post-sidebar-section--related .single-post-sidebar-title {
    margin-bottom: clamp(0.55rem, 1.25vw, 0.75rem);
}

.single-post-sidebar-section--related .single-post-related-blogs {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.single-post-sidebar-section--related .related-blog-card {
    display: flex;
    align-items: flex-start;
    gap: 0.65rem;
    margin: 0;
    padding: clamp(0.55rem, 1.2vw, 0.7rem) 0;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid var(--palette-shadow-ink-8);
    border-radius: var(--radius-inner);
    transition:
        background-color 0.18s ease,
        color 0.18s ease;
}

.single-post-sidebar-section--related .related-blog-card:first-child {
    padding-top: 0;
}

.single-post-sidebar-section--related .related-blog-card:last-child {
    padding-bottom: 0;
    border-bottom: none;
}

.single-post-sidebar-section--related .related-blog-card:hover {
    background-color: var(--palette-brand-alpha-6);
}

.single-post-sidebar-section--related .related-blog-card:focus-visible {
    background-color: var(--palette-brand-alpha-6);
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

.single-post-sidebar-section--related .related-blog-card img {
    display: block;
    width: clamp(52px, 5.5vw, 62px);
    height: clamp(52px, 5.5vw, 62px);
    min-width: 0;
    flex-shrink: 0;
    border-radius: var(--radius-posts-media);
    object-fit: cover;
    background: var(--palette-bg-placeholder);
}

.single-post-sidebar-section--related .related-blog-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.2rem;
    padding-top: 0.06rem;
}

.single-post-sidebar-section--related .related-blog-date {
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--palette-news-date);
}

.single-post-sidebar-section--related .related-blog-title {
    margin: 0;
    font-size: clamp(0.78rem, 1.15vw, 0.875rem);
    font-weight: 500;
    line-height: 1.38;
    letter-spacing: -0.018em;
    color: var(--palette-news-ink);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.single-post-sidebar-section--related .related-blog-card:hover .related-blog-title,
.single-post-sidebar-section--related .related-blog-card:focus-visible .related-blog-title {
    color: var(--palette-news-forest);
}

/* --- Galeria (ostatnia sekcja strony wpisu) --- */
.single-post-gallery {
    margin-top: clamp(2.25rem, 5vw, 3.5rem);
    padding-top: 0;
    border-top: none;
}

/* Kompatybilność ze starszym markupem: jeśli wewnątrz sekcji został `.container`, wyłącz jego wpływ. */
.single-post-gallery > .container {
    max-width: none;
    margin: 0;
    padding: 0;
}

.single-post-gallery__title {
    margin: 0 0 clamp(1.25rem, 3vw, 1.75rem);
    padding-left: 0;
    border-left: none;
    font-size: clamp(1.05rem, 2vw, 1.25rem);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.02em;
    color: var(--text-dark);
}

.single-post-gallery__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(0.5rem, 2vw, 1.125rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.single-post-content .single-post-gallery__grid,
.single-post-content .single-post-gallery__grid > .single-post-gallery__item {
    margin: 0;
    padding: 0;
}

.single-post-content .single-post-gallery__grid > .single-post-gallery__item::before {
    content: none;
}

.single-post-gallery__item {
    margin: 0;
    padding: 0;
    background: transparent;
    aspect-ratio: auto;
    flex: 0 1 100%;
    max-width: 480px;
    /* Border-radius i overflow przenosimy na .single-post-gallery__btn,
       żeby focus-visible outline buttona nie był przycinany przez rodzica. */
}

@media (min-width: 576px) {
    .single-post-gallery__item {
        flex: 0 1 calc(50% - (clamp(0.5rem, 2vw, 1.125rem) / 2));
        max-width: none;
    }
}

@media (min-width: 768px) {
    .single-post-gallery__item {
        flex: 0 1 calc(33.333% - (clamp(0.5rem, 2vw, 1.125rem) * 2 / 3));
        max-width: none;
    }
}

/* Klikalny button galerii — otwiera lightbox (assets/js/lightbox.js).
   Reset wszystkich domyślnych <button> styli + sygnalizacja "klikalne". */
.single-post-gallery__btn {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: zoom-in;
    border-radius: 16px;
    overflow: hidden;
    -webkit-appearance: none;
    appearance: none;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.single-post-gallery__btn:focus-visible {
    outline: 3px solid var(--palette-accent, #1d4dc7);
    outline-offset: 4px;
}

.single-post-gallery__img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

/* Subtelny zoom obrazka przy hover/focus — taki sam efekt jak w realizacja-gallery. */
.single-post-gallery__btn:hover .single-post-gallery__img,
.single-post-gallery__btn:focus-visible .single-post-gallery__img {
    transform: scale(1.03);
}

/* Desktop: siatka wpisu + sidebar oraz galeria 3 kolumny */
@media (min-width: 1024px) {
    .single-post-gallery__grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: clamp(0.65rem, 1.5vw, 1.125rem);
    }

    .single-post-gallery__item {
        flex: none;
        max-width: none;
    }

    .single-post-layout {
        gap: clamp(2rem, 5vw, 3.25rem);
    }

    .single-post-hero {
        display: block;
    }

    .single-post-sidebar--hero {
        position: static;
    }

    .single-post-sidebar--hero .single-post-sidebar-section--hero-links {
        margin: 0 0 clamp(1rem, 2vw, 1.25rem);
    }

    .single-post-main {
        padding-right: 0;
    }

    /* Wyśrodkowana dwukolumnowa stopka-sidebar dla widgetów pod tekstem na desktopie */
    .single-post-sidebar {
        display: grid !important;
        grid-template-columns: 1fr 1.8fr;
        gap: clamp(1.5rem, 3vw, 2.5rem);
        margin-top: clamp(3rem, 6vw, 4.5rem);
        width: var(--article-content-width);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
        border: none;
        box-shadow: none;
        background: transparent;
    }
}

@media (max-width: 1023px) {
    .single-post-layout {
        gap: clamp(1.75rem, 4.5vw, 2.5rem);
    }

    .single-post-share-desktop {
        display: none;
    }
}

/* --- Sekcja krok po kroku (Baza wiedzy) --- */
.knowledge-steps-full {
    background: transparent;
    padding: var(--section-y, clamp(2.5rem, 6vw, 4rem)) 0;
    margin-bottom: 0;
}

.single-post-content .knowledge-steps-full {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    padding: var(--section-y, clamp(2.5rem, 6vw, 4rem)) 0;
}

.knowledge-steps {
    padding: clamp(1.25rem, 3vw, 2rem);
    background: #fff;
    border: 1px solid rgb(10 10 10 / 0.05);
    border-radius: 24px;
    margin: 0;
}

.knowledge-steps__header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: clamp(2rem, 5vw, 3rem);
}

@media (min-width: 768px) {
    .knowledge-steps__header {
        grid-template-columns: 1fr 1fr;
        align-items: start;
    }
}

.knowledge-steps__title {
    margin: 0;
    font-size: clamp(1.75rem, 3.5vw, 2.5rem);
    line-height: 1.1;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: var(--text-dark);
}

.knowledge-steps__lead {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #6b7280;
    max-width: 45ch;
}

.knowledge-steps__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

@media (min-width: 768px) {
    .knowledge-steps__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

.knowledge-step-card {
    background: #f9f8f6;
    padding: 2.25rem 2rem;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.knowledge-step-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 32px -12px rgba(0,0,0,0.1);
}

.knowledge-step-card h3 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
    color: #000;
}

.knowledge-step-card p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #4b5563;
}

/* Floating share buttons configuration */
@media (min-width: 1350px) {
    .single-post-share-desktop {
        position: fixed !important;
        left: clamp(15px, 2.5vw, 45px) !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        z-index: 100 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0.5rem !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }

    .single-post-share-desktop .single-post-share-label {
        display: none !important;
    }

    .single-post-share-desktop .single-post-social-icons {
        flex-direction: column !important;
        gap: 0.5rem !important;
    }

    .single-post-share-mobile {
        display: none !important;
    }
}

@media (max-width: 1349px) {
    .single-post-share-desktop {
        display: none !important;
    }
    
    .single-post-share-mobile {
        display: flex !important;
        width: var(--article-content-width);
        max-width: none;
        margin-left: auto;
        margin-right: auto;
    }
}

