.szi-button-wrap,
.szi-button-wrap * {
    box-sizing: border-box;
}

.szi-button-wrap {
    display: flex;
    width: 100%;
    justify-content: flex-start;
}

.szi-button {
    --szi-label: #fff;
    --szi-kicker: #9ed8a9;
    --szi-bg-1: #07301c;
    --szi-bg-2: #0b4527;
    --szi-bg-3: #176a38;
    --szi-flag-green: #1c8c3d;
    --szi-flag-red: #d23632;

    position: relative;
    isolation: isolate;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: .875em;
    min-height: 3em;
    padding: .4375em .5em .4375em 1.0625em !important;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 0 !important;
    background:
        radial-gradient(circle at 88% 8%, rgba(48,155,82,.26), transparent 34%),
        linear-gradient(118deg, var(--szi-bg-1) 0%, var(--szi-bg-2) 58%, var(--szi-bg-3) 100%) !important;
    box-shadow: 0 .5em 1.375em rgba(7,48,28,.16);
    color: var(--szi-label) !important;
    text-decoration: none !important;
    line-height: 1 !important;
    white-space: nowrap;
    transform: translateY(0);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
    font-size: 16px;
}

.szi-button::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: .25em;
    background: linear-gradient(
        to bottom,
        var(--szi-flag-green) 0 33.333%,
        #fff 33.333% 66.666%,
        var(--szi-flag-red) 66.666% 100%
    );
}

.szi-button::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -3.25em;
    right: -2.375em;
    width: 7em;
    height: 7em;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    box-shadow: 0 0 0 1.125em rgba(255,255,255,.025);
    transition: transform .28s ease;
}

.szi-button__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: .1875em;
    min-width: 0;
}

.szi-button__kicker {
    display: block;
    color: var(--szi-kicker) !important;
    -webkit-text-fill-color: var(--szi-kicker) !important;
    font-size: .5em !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.szi-button__label {
    display: block;
    color: var(--szi-label) !important;
    -webkit-text-fill-color: var(--szi-label) !important;
    font-size: .8125em !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -.01em;
}

.szi-button__arrow {
    position: relative;
    z-index: 3;
    display: inline-flex;
    flex: 0 0 2.125em;
    width: 2.125em;
    height: 2.125em;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,.34);
    border-radius: 50%;
    background: rgba(255,255,255,.08);
    transition: background .2s ease, transform .2s ease, border-color .2s ease;
}

.szi-button__arrow svg {
    display: block;
    width: 1.0625em;
    height: 1.0625em;
    fill: none;
    stroke: #fff;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.szi-button:not(.szi-button--static):hover,
.szi-button:not(.szi-button--static):focus-visible {
    filter: none !important;
    transform: translateY(-1px);
    box-shadow: 0 .75em 1.75em rgba(7,48,28,.24);
    color: var(--szi-label) !important;
    text-decoration: none !important;
}

.szi-button:not(.szi-button--static):hover::after,
.szi-button:not(.szi-button--static):focus-visible::after {
    transform: scale(1.08);
}

.szi-button:not(.szi-button--static):hover .szi-button__arrow,
.szi-button:not(.szi-button--static):focus-visible .szi-button__arrow {
    background: #fff;
    border-color: #fff;
    transform: translateX(.125em);
}

.szi-button:not(.szi-button--static):hover .szi-button__arrow svg,
.szi-button:not(.szi-button--static):focus-visible .szi-button__arrow svg {
    stroke: var(--szi-bg-2);
}

.szi-button--no-arrow {
    gap: 0;
    padding-right: 1.0625em !important;
}

.szi-button--no-kicker .szi-button__copy {
    gap: 0;
}

.szi-button--static {
    cursor: default;
}

@media (prefers-reduced-motion: reduce) {
    .szi-button,
    .szi-button::after,
    .szi-button__arrow {
        transition: none !important;
    }
}

/* =========================================================
 * SZI PANEL
 * ========================================================= */
.szi-panel-wrap,
.szi-panel-wrap * {
    box-sizing: border-box;
}

.szi-panel-wrap {
    display: flex;
    width: 100%;
    justify-content: flex-start;
}

.szi-panel {
    --szi-panel-bg-1: #062314;
    --szi-panel-bg-2: #0b351f;
    --szi-panel-bg-3: #173d24;
    --szi-panel-flag-green: #1c8c3d;
    --szi-panel-flag-red: #d23632;

    position: relative;
    isolation: isolate;
    display: block;
    width: 100%;
    max-width: 1200px;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 8px;
    background:
        radial-gradient(circle at 88% 8%, rgba(31,138,58,.22), transparent 28%),
        linear-gradient(120deg, var(--szi-panel-bg-1) 0%, var(--szi-panel-bg-2) 56%, var(--szi-panel-bg-3) 100%);
    box-shadow: 0 20px 54px rgba(13,36,23,.15);
}

.szi-panel::before {
    content: "";
    position: absolute;
    z-index: 4;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(
        to bottom,
        var(--szi-panel-flag-green) 0 33.333%,
        #fff 33.333% 66.666%,
        var(--szi-panel-flag-red) 66.666% 100%
    );
    pointer-events: none;
}

.szi-panel::after {
    content: "";
    position: absolute;
    z-index: 1;
    right: -95px;
    top: -130px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(255,255,255,.075);
    border-radius: 50%;
    box-shadow:
        0 0 0 42px rgba(255,255,255,.022),
        0 0 0 86px rgba(255,255,255,.014);
    pointer-events: none;
}

.szi-panel--no-flag::before {
    display: none;
}

.szi-panel--no-circles::after {
    display: none;
}

.szi-panel__image {
    position: absolute;
    z-index: 0;
    inset: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: .42;
    pointer-events: none;
}

.szi-panel__image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(6,35,20,.35);
}

.szi-panel__click-layer {
    position: absolute !important;
    z-index: 3;
    inset: 0;
    display: block;
    text-decoration: none !important;
    cursor: pointer;
}

.szi-panel__content {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    max-width: 760px;
    min-height: inherit;
    padding: 48px 52px;
    text-align: left;
    pointer-events: none;
}

.szi-panel--content-left .szi-panel__content {
    margin-left: 0;
    margin-right: auto;
}

.szi-panel--content-center .szi-panel__content {
    margin-left: auto;
    margin-right: auto;
}

.szi-panel--content-right .szi-panel__content {
    margin-left: auto;
    margin-right: 0;
}

.szi-panel__kicker {
    margin: 0 0 12px;
    color: #9ed8a9 !important;
    -webkit-text-fill-color: #9ed8a9 !important;
    font-size: 12px;
    font-weight: 800 !important;
    line-height: 1.15;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.szi-panel__heading {
    margin: 0;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: clamp(40px, 5vw, 78px);
    font-weight: 700 !important;
    line-height: .98;
    letter-spacing: -.045em;
    text-wrap: balance;
}

.szi-panel__description {
    margin: 20px 0 0;
    color: rgba(255,255,255,.72) !important;
    -webkit-text-fill-color: rgba(255,255,255,.72) !important;
    font-size: clamp(15px, 1.4vw, 20px);
    font-weight: 400 !important;
    line-height: 1.6;
}

.szi-panel__button {
    pointer-events: auto;
    position: relative;
    z-index: 5;
    display: inline-flex !important;
    align-items: center;
    align-self: flex-start;
    justify-content: center;
    gap: 12px;
    width: auto;
    margin-top: 26px;
    padding: 13px 18px !important;
    border: 1px solid rgba(255,255,255,.7) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: #0b351f !important;
    -webkit-text-fill-color: #0b351f !important;
    font-size: 12px;
    font-weight: 850 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em;
    text-decoration: none !important;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease;
}

.szi-panel__button:hover,
.szi-panel__button:focus-visible {
    color: #0b351f !important;
    -webkit-text-fill-color: #0b351f !important;
    text-decoration: none !important;
    transform: translateY(-1px);
    filter: brightness(.96);
}

.szi-panel__button--static {
    cursor: default;
}

.szi-panel--linked {
    transition: transform .2s ease, box-shadow .2s ease;
}

.szi-panel--linked:hover {
    transform: translateY(-2px);
    box-shadow: 0 24px 62px rgba(13,36,23,.21);
}

@media (max-width: 767px) {
    .szi-panel {
        min-height: 280px;
    }

    .szi-panel::after {
        right: -150px;
        top: -165px;
    }

    .szi-panel__content {
        padding: 30px 26px;
    }

    .szi-panel__kicker {
        margin-bottom: 9px;
        font-size: 10px;
    }

    .szi-panel__heading {
        font-size: clamp(34px, 11vw, 54px);
    }

    .szi-panel__description {
        margin-top: 16px;
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .szi-panel,
    .szi-panel__button {
        transition: none !important;
    }
}

/* =========================================================
 * SZI POST GRID
 * ========================================================= */
.szi-post-grid,
.szi-post-grid * {
    box-sizing: border-box;
}

.szi-post-grid {
    --szi-post-green: #1c8c3d;
    --szi-post-red: #d23632;
    --szi-filter-bg-1: #062b18;
    --szi-filter-bg-2: #0a351f;
    --szi-filter-bg-3: #0e4d27;
    --szi-filter-label: #d9f4de;
    --szi-filter-btn-bg: #173f2a;
    --szi-filter-btn-text: #ffffff;
    --szi-filter-btn-border: #315c43;
    --szi-filter-active-bg: #1f9e4f;
    --szi-filter-active-text: #ffffff;
    --szi-filter-active-border: #52b96c;
    width: 100%;
}

.szi-post-grid__items {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    align-items: stretch;
}

.szi-post-card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    border-radius: 0;
    transition: transform .2s ease, box-shadow .2s ease;
}

.szi-post-card::before {
    content: "";
    position: absolute;
    z-index: 5;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(
        to bottom,
        var(--szi-post-green) 0 33.333%,
        #fff 33.333% 66.666%,
        var(--szi-post-red) 66.666% 100%
    );
    pointer-events: none;
}

.szi-post-card__hit {
    position: absolute !important;
    z-index: 6;
    inset: 0;
    display: block;
    text-decoration: none !important;
}

.szi-post-card__media {
    position: relative;
    z-index: 1;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #f2f2f2;
}

.szi-post-card__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .45s ease;
}

.szi-post-card__body {
    position: relative;
    z-index: 3;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 24px;
}

.szi-post-card__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
    font-size: 10px;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.szi-post-card__kicker,
.szi-post-card__date {
    font: inherit !important;
}

.szi-post-card__title {
    margin: 0 0 14px !important;
    font-size: clamp(23px, 2vw, 32px);
    font-weight: 700 !important;
    line-height: 1.06 !important;
    letter-spacing: -.025em;
}

.szi-post-card__excerpt {
    margin: 0 0 20px !important;
    font-size: 15px;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.szi-post-card__cta {
    position: relative;
    z-index: 7;
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    margin-top: auto;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .04em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.szi-post-card__cta span {
    transition: transform .18s ease;
}

.szi-post-card:hover {
    transform: translateY(-3px);
}

.szi-post-card:hover .szi-post-card__media img {
    transform: scale(1.035);
}

.szi-post-card:hover .szi-post-card__cta span {
    transform: translateX(3px);
}

/* Preset 1: Inspiracje kulinarne */
.szi-post-card--inspiracje {
    --szi-post-light-bg: #fff;
    background: var(--szi-post-light-bg);
    box-shadow: 0 12px 32px rgba(15,42,26,.06);
}

.szi-post-card--inspiracje .szi-post-card__body {
    background: var(--szi-post-light-bg);
}

.szi-post-card--inspiracje .szi-post-card__kicker {
    color: #1c8c3d !important;
    -webkit-text-fill-color: #1c8c3d !important;
}

.szi-post-card--inspiracje .szi-post-card__date {
    color: #777 !important;
    -webkit-text-fill-color: #777 !important;
}

.szi-post-card--inspiracje .szi-post-card__title,
.szi-post-card--inspiracje .szi-post-card__title * {
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    opacity: 1 !important;
}

.szi-post-card--inspiracje .szi-post-card__excerpt {
    color: #292929 !important;
    -webkit-text-fill-color: #292929 !important;
    opacity: 1 !important;
}

.szi-post-card--inspiracje .szi-post-card__cta {
    color: #187b36 !important;
    -webkit-text-fill-color: #187b36 !important;
}

.szi-post-card--inspiracje:hover {
    box-shadow: 0 20px 44px rgba(15,42,26,.12);
}

/* Preset 2: Blog / Włochy */
.szi-post-card--blog {
    --szi-post-dark-1: #07301c;
    --szi-post-dark-2: #174f2e;
    border-color: rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 92% 5%, rgba(55,151,84,.24), transparent 28%),
        linear-gradient(138deg, var(--szi-post-dark-1) 0%, var(--szi-post-dark-2) 100%);
    box-shadow: 0 16px 38px rgba(6,35,20,.15);
}

.szi-post-card--blog::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -78px;
    bottom: -88px;
    width: 220px;
    height: 220px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.018), 0 0 0 62px rgba(255,255,255,.011);
    pointer-events: none;
}

.szi-post-card--blog .szi-post-card__media {
    background: #0a2c1b;
}

.szi-post-card--blog .szi-post-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(6,35,20,.22), transparent 55%);
    pointer-events: none;
}

.szi-post-card--blog .szi-post-card__body {
    background: transparent;
}

.szi-post-card--blog .szi-post-card__kicker {
    color: #9ed8a9 !important;
    -webkit-text-fill-color: #9ed8a9 !important;
}

.szi-post-card--blog .szi-post-card__date {
    color: rgba(255,255,255,.62) !important;
    -webkit-text-fill-color: rgba(255,255,255,.62) !important;
}

.szi-post-card--blog .szi-post-card__title,
.szi-post-card--blog .szi-post-card__title * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    opacity: 1 !important;
}

.szi-post-card--blog .szi-post-card__excerpt {
    color: rgba(255,255,255,.76) !important;
    -webkit-text-fill-color: rgba(255,255,255,.76) !important;
    opacity: 1 !important;
}

.szi-post-card--blog .szi-post-card__cta {
    color: #b7e5bf !important;
    -webkit-text-fill-color: #b7e5bf !important;
}

.szi-post-card--blog:hover {
    box-shadow: 0 24px 52px rgba(6,35,20,.24);
}

.szi-post-card--no-image .szi-post-card__body {
    min-height: 300px;
}

.szi-post-grid__nav,
.szi-post-grid__pagination {
    display: flex;
    justify-content: center;
    margin-top: 30px;
}

.szi-post-grid__more {
    min-width: 180px;
    padding: 13px 20px;
    border: 1px solid #0b351f;
    border-radius: 0;
    background: #0b351f;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font: inherit;
    font-size: 12px;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.szi-post-grid__more:hover,
.szi-post-grid__more:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.szi-post-grid__more:disabled {
    opacity: .65;
    cursor: wait;
}

.szi-post-grid__pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.szi-post-grid__pagination li {
    margin: 0;
    padding: 0;
}

.szi-post-grid__pagination a,
.szi-post-grid__pagination span {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 11px;
    border: 1px solid #d5d5d5;
    background: #fff;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none !important;
}

.szi-post-grid__pagination .current {
    border-color: #0b351f;
    background: #0b351f;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.szi-post-grid__empty {
    padding: 30px;
    border: 1px solid #ddd;
    color: #222;
    text-align: center;
}

@media (max-width: 1024px) {
    .szi-post-grid__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .szi-post-grid__items {
        grid-template-columns: 1fr;
    }

    .szi-post-card__title {
        font-size: 27px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .szi-post-card,
    .szi-post-card__media img,
    .szi-post-card__cta span,
    .szi-post-grid__more {
        transition: none !important;
    }
}

/* SZI Post Grid filters - v0.4.1 */
.szi-post-grid__filters {
    margin-bottom: 26px;
}

.szi-post-grid__filter-bar {
    position: relative;
    overflow: hidden;
    padding: 26px 28px 28px;
    border-radius: 0;
    background: linear-gradient(90deg, var(--szi-filter-bg-1) 0%, var(--szi-filter-bg-2) 34%, var(--szi-filter-bg-3) 100%);
    box-shadow: 0 18px 40px rgba(7, 48, 28, .10);
}

.szi-post-grid__filter-bar::before,
.szi-post-grid__filter-bar::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
    opacity: .28;
}

.szi-post-grid__filter-bar::before {
    width: 320px;
    height: 320px;
    right: -80px;
    top: -140px;
    border: 1px solid rgba(255,255,255,.12);
}

.szi-post-grid__filter-bar::after {
    width: 250px;
    height: 250px;
    right: 20px;
    top: -95px;
    border: 1px solid rgba(255,255,255,.08);
}

.szi-post-grid__filter-bar-head {
    position: relative;
    z-index: 1;
    margin-bottom: 18px;
}

.szi-post-grid__filter-bar-label {
    display: inline-block;
    color: var(--szi-filter-label);
    font-size: 14px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .20em;
    text-transform: uppercase;
}

.szi-post-grid__filters-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.szi-post-grid__filter {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 18px;
    border: 1px solid var(--szi-filter-btn-border);
    border-radius: 0;
    background: var(--szi-filter-btn-bg);
    color: var(--szi-filter-btn-text) !important;
    -webkit-text-fill-color: var(--szi-filter-btn-text) !important;
    font: inherit;
    font-size: 12px;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: .06em;
    text-transform: uppercase;
    text-decoration: none !important;
    cursor: pointer;
    transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.szi-post-grid__filter:hover,
.szi-post-grid__filter:focus-visible {
    transform: translateY(-1px);
    border-color: var(--szi-filter-btn-border);
    background: color-mix(in srgb, var(--szi-filter-btn-bg) 88%, #ffffff 12%);
    box-shadow: 0 10px 28px rgba(4, 26, 14, .18);
}

.szi-post-grid__filter.is-active {
    border-color: var(--szi-filter-active-border);
    background: var(--szi-filter-active-bg);
    color: var(--szi-filter-active-text) !important;
    -webkit-text-fill-color: var(--szi-filter-active-text) !important;
    box-shadow: 0 14px 30px rgba(10, 84, 36, .28);
}

.szi-post-grid__filter.is-active:hover,
.szi-post-grid__filter.is-active:focus-visible {
    border-color: var(--szi-filter-active-border);
    background: color-mix(in srgb, var(--szi-filter-active-bg) 90%, #ffffff 10%);
}

.szi-post-grid--inspiracje .szi-post-grid__filter-bar,
.szi-post-grid--blog .szi-post-grid__filter-bar {
    border-left: 4px solid #f2f2f2;
}

.szi-post-grid--inspiracje .szi-post-grid__filter-bar {
    box-shadow: inset 4px 0 0 #ffffff, inset 0 -4px 0 #e03b3b;
}

.szi-post-grid--blog .szi-post-grid__filter-bar {
    box-shadow: inset 4px 0 0 #ffffff, inset 0 -4px 0 #d93636, 0 18px 40px rgba(7, 48, 28, .14);
}

.szi-post-grid.is-loading {
    opacity: .86;
}

.szi-post-grid__nav-wrap:empty,
.szi-post-grid__filters:empty {
    display: none;
}


.szi-post-grid__filter-bar-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.szi-post-grid__count {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    color: #ffffff;
    white-space: nowrap;
}

.szi-post-grid__count strong {
    font-size: 30px;
    line-height: .9;
    font-weight: 800;
}

.szi-post-grid__count small,
.szi-post-grid__filters-caption {
    color: var(--szi-filter-label);
    font-size: 10px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.szi-post-grid__search-wrap {
    position: relative;
    z-index: 1;
    margin-bottom: 16px;
}

.szi-post-grid__search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #1f9e4f;
    font-size: 22px;
    line-height: 1;
    pointer-events: none;
}

.szi-post-grid__search {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 11px 16px 11px 46px !important;
    border: 1px solid rgba(255,255,255,.24) !important;
    border-radius: 0 !important;
    background: #ffffff !important;
    color: #202020 !important;
    -webkit-text-fill-color: #202020 !important;
    font: inherit !important;
    font-size: 14px !important;
    outline: none !important;
    box-shadow: none !important;
}

.szi-post-grid__search::placeholder {
    color: #777777 !important;
    -webkit-text-fill-color: #777777 !important;
    opacity: 1;
}

.szi-post-grid__search:focus {
    border-color: #1f9e4f !important;
    box-shadow: 0 0 0 2px rgba(31,158,79,.16) !important;
}

.szi-post-grid__filters-caption {
    position: relative;
    z-index: 1;
    margin: 2px 0 10px;
}

@media (max-width: 767px) {
    .szi-post-grid__filters {
        margin-bottom: 20px;
    }

    .szi-post-grid__filter-bar {
        padding: 20px 16px 18px;
    }

    .szi-post-grid__filter-bar-head {
        align-items: flex-start;
        gap: 14px;
    }

    .szi-post-grid__count {
        gap: 6px;
    }

    .szi-post-grid__count strong {
        font-size: 24px;
    }

    .szi-post-grid__count small {
        max-width: 120px;
        font-size: 9px;
    }

    .szi-post-grid__search {
        min-height: 46px !important;
        font-size: 16px !important;
    }

    .szi-post-grid__filter-bar-label {
        font-size: 12px;
        letter-spacing: .16em;
    }

    .szi-post-grid__filters-inner {
        gap: 8px;
    }

    .szi-post-grid__filter {
        min-height: 38px;
        padding: 8px 12px;
        font-size: 11px;
    }
}

/* =========================================================
   SZI Single Post - v0.5.0
   ========================================================= */
.szi-single-post,
.szi-single-post * {
    box-sizing: border-box;
}

.szi-single-post {
    --szi-single-green: #1f9e4f;
    --szi-single-red: #d93636;
    --szi-single-dark-1: #062b18;
    --szi-single-dark-2: #15532d;
    --szi-single-title-dark: #171717;
    --szi-single-text: #202020;
    --szi-single-light: #ffffff;
    --szi-single-muted-light: #b8d7c1;
    width: 100%;
    color: var(--szi-single-text);
}

.szi-single-post__hero {
    position: relative;
    overflow: hidden;
    padding: 44px;
}

.szi-single-post__hero::before {
    content: "";
    position: absolute;
    z-index: 3;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(
        to bottom,
        var(--szi-single-green) 0 33.333%,
        #fff 33.333% 66.666%,
        var(--szi-single-red) 66.666% 100%
    );
}

.szi-single-post__hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    align-items: center;
    gap: 42px;
    width: 100%;
}

.szi-single-post__hero-copy {
    min-width: 0;
}

.szi-single-post__kicker {
    margin: 0 0 16px;
    color: var(--szi-single-green);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.szi-single-post__title {
    margin: 0 !important;
    font-size: clamp(42px, 5vw, 78px);
    font-weight: 700 !important;
    line-height: .98 !important;
    letter-spacing: -.04em;
}

.szi-single-post__lead {
    margin: 24px 0 0 !important;
    font-size: 18px;
    font-weight: 400 !important;
    line-height: 1.6 !important;
}

.szi-single-post__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-top: 24px;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.szi-single-post__meta span + span::before {
    content: "•";
    margin-right: 18px;
    opacity: .5;
}

.szi-single-post__image {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #edf0ed;
}

.szi-single-post__image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

/* Preset 1: Inspiracje */
.szi-single-post--inspiracje .szi-single-post__hero {
    border: 1px solid #ddd;
    background: #fff;
    box-shadow: 0 18px 45px rgba(13, 53, 30, .06);
}

.szi-single-post--inspiracje .szi-single-post__hero-copy {
    order: 2;
}

.szi-single-post--inspiracje .szi-single-post__image {
    order: 1;
}

.szi-single-post--inspiracje .szi-single-post__title {
    color: var(--szi-single-title-dark) !important;
    -webkit-text-fill-color: var(--szi-single-title-dark) !important;
}

.szi-single-post--inspiracje .szi-single-post__lead,
.szi-single-post--inspiracje .szi-single-post__meta {
    color: #4d4d4d !important;
    -webkit-text-fill-color: #4d4d4d !important;
}

/* Preset 2: Blog / Włochy */
.szi-single-post--blog .szi-single-post__hero {
    background:
        radial-gradient(circle at 90% 4%, rgba(60, 160, 91, .20), transparent 31%),
        linear-gradient(125deg, var(--szi-single-dark-1) 0%, var(--szi-single-dark-2) 100%);
    box-shadow: 0 20px 50px rgba(5, 41, 23, .16);
}

.szi-single-post--blog .szi-single-post__hero::after {
    content: "";
    position: absolute;
    z-index: 0;
    right: -95px;
    top: -155px;
    width: 420px;
    height: 420px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 50%;
    box-shadow: 0 0 0 52px rgba(255,255,255,.018), 0 0 0 104px rgba(255,255,255,.012);
    pointer-events: none;
}

.szi-single-post--blog .szi-single-post__title,
.szi-single-post--blog .szi-single-post__title * {
    color: var(--szi-single-light) !important;
    -webkit-text-fill-color: var(--szi-single-light) !important;
}

.szi-single-post--blog .szi-single-post__kicker {
    color: #9ed8a9 !important;
    -webkit-text-fill-color: #9ed8a9 !important;
}

.szi-single-post--blog .szi-single-post__lead,
.szi-single-post--blog .szi-single-post__meta {
    color: var(--szi-single-muted-light) !important;
    -webkit-text-fill-color: var(--szi-single-muted-light) !important;
}

.szi-single-post--blog .szi-single-post__image {
    border: 1px solid rgba(255,255,255,.10);
    box-shadow: 0 18px 42px rgba(0,0,0,.16);
}

/* Treść wpisu */
.szi-single-post__content-wrap {
    padding: 48px 20px 0;
}

.szi-single-post__content-inner {
    width: 100%;
    max-width: 860px;
    margin: 0 auto;
    color: var(--szi-single-text) !important;
    -webkit-text-fill-color: var(--szi-single-text) !important;
    font-size: 18px;
    font-weight: 400 !important;
    line-height: 1.78 !important;
}

.szi-single-post__content-inner > *:first-child {
    margin-top: 0 !important;
}

.szi-single-post__content-inner p,
.szi-single-post__content-inner li,
.szi-single-post__content-inner td,
.szi-single-post__content-inner th,
.szi-single-post__content-inner figcaption {
    color: var(--szi-single-text) !important;
    -webkit-text-fill-color: var(--szi-single-text) !important;
    opacity: 1 !important;
}

.szi-single-post__content-inner p {
    margin: 0 0 1.35em !important;
}

.szi-single-post__content-inner h2,
.szi-single-post__content-inner h3,
.szi-single-post__content-inner h4 {
    color: var(--szi-single-title-dark) !important;
    -webkit-text-fill-color: var(--szi-single-title-dark) !important;
    opacity: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -.025em;
}

.szi-single-post__content-inner h2 {
    position: relative;
    margin: 2em 0 .7em !important;
    padding-left: 18px;
    font-size: clamp(30px, 3vw, 45px);
    line-height: 1.08 !important;
}

.szi-single-post__content-inner h2::before {
    content: "";
    position: absolute;
    left: 0;
    top: .08em;
    bottom: .08em;
    width: 4px;
    background: linear-gradient(to bottom, var(--szi-single-green) 0 50%, var(--szi-single-red) 50% 100%);
}

.szi-single-post__content-inner h3 {
    margin: 1.7em 0 .65em !important;
    font-size: clamp(24px, 2vw, 32px);
    line-height: 1.15 !important;
}

.szi-single-post__content-inner h4 {
    margin: 1.5em 0 .55em !important;
    font-size: 21px;
    line-height: 1.25 !important;
}

.szi-single-post__content-inner a {
    color: #187b36 !important;
    -webkit-text-fill-color: #187b36 !important;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.szi-single-post__content-inner ul,
.szi-single-post__content-inner ol {
    margin: 0 0 1.5em !important;
    padding-left: 1.4em !important;
}

.szi-single-post__content-inner li {
    margin-bottom: .45em;
}

.szi-single-post__content-inner blockquote {
    margin: 2em 0 !important;
    padding: 24px 28px !important;
    border: 0 !important;
    border-left: 5px solid var(--szi-single-green) !important;
    background: linear-gradient(120deg, #07301c 0%, #124a29 100%) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.szi-single-post__content-inner blockquote,
.szi-single-post__content-inner blockquote p,
.szi-single-post__content-inner blockquote * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.szi-single-post__content-inner img {
    max-width: 100%;
    height: auto;
}

.szi-single-post__content-inner figure {
    max-width: 100%;
    margin: 2em 0 !important;
}

.szi-single-post__content-inner figcaption {
    margin-top: 8px;
    font-size: 13px;
    line-height: 1.5;
    opacity: .72 !important;
}

.szi-single-post__content-inner table {
    width: 100%;
    margin: 2em 0;
    border-collapse: collapse;
}

.szi-single-post__content-inner th,
.szi-single-post__content-inner td {
    padding: 12px 14px;
    border: 1px solid #ddd;
    text-align: left;
}

.szi-single-post__content-inner th {
    background: #f4f7f4;
    font-weight: 700;
}

.szi-single-post__back-wrap {
    width: 100%;
    max-width: 860px;
    margin: 38px auto 0;
    padding: 0 20px;
}

.szi-single-post__back {
    display: inline-flex !important;
    align-items: center;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid #0b351f;
    background: #0b351f;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 12px;
    font-weight: 800 !important;
    line-height: 1.2;
    letter-spacing: .04em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.szi-single-post__notice {
    padding: 24px;
    border: 1px solid #ddd;
    background: #fff;
    color: #222;
}

@media (max-width: 1024px) {
    .szi-single-post__hero-inner {
        grid-template-columns: 1fr;
    }

    .szi-single-post--inspiracje .szi-single-post__hero-copy,
    .szi-single-post--inspiracje .szi-single-post__image {
        order: initial;
    }

    .szi-single-post__title {
        font-size: clamp(40px, 7vw, 64px);
    }
}

@media (max-width: 767px) {
    .szi-single-post__hero {
        padding: 28px 22px;
    }

    .szi-single-post__hero-inner {
        gap: 24px;
    }

    .szi-single-post__title {
        font-size: clamp(36px, 11vw, 52px);
    }

    .szi-single-post__lead {
        font-size: 16px;
    }

    .szi-single-post__content-wrap {
        padding: 34px 16px 0;
    }

    .szi-single-post__content-inner {
        font-size: 17px;
        line-height: 1.72 !important;
    }
}

/* SZI Single Post - hide native WoodMart title only when this widget requests it. */
@supports selector(body:has(.szi-single-post)) {
    body.single-post:has(.szi-single-post--hide-woodmart-title) .wd-page-title.page-title,
    body.single-post:has(.szi-single-post--hide-woodmart-title) .page-title.page-title-default,
    body.single-post:has(.szi-single-post--hide-woodmart-title) .page-title.title-blog {
        display: none !important;
    }
}

/* =========================================================
   SZI Single Post relations + navigation - v0.5.3
   ========================================================= */
.szi-single-post__relations,
.szi-single-post__post-nav {
    width: min(1120px, calc(100% - 40px));
    margin-left: auto;
    margin-right: auto;
}

.szi-single-post__relations {
    padding-top: 18px;
}

.szi-single-post__relation-block {
    position: relative;
    margin-top: 58px;
    padding-top: 26px;
    border-top: 1px solid #dadeda;
}

.szi-single-post__relation-kicker {
    margin: 0 0 8px;
    color: var(--szi-single-green) !important;
    -webkit-text-fill-color: var(--szi-single-green) !important;
    font-size: 11px;
    font-weight: 850 !important;
    line-height: 1.25;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.szi-single-post__relation-title {
    margin: 0 0 24px !important;
    color: var(--szi-single-title-dark) !important;
    -webkit-text-fill-color: var(--szi-single-title-dark) !important;
    font-size: clamp(27px, 3vw, 38px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em;
}

.szi-single-post__product-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.szi-single-post__product-card {
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    min-width: 0;
    overflow: hidden;
    border: 1px solid #d9ddd9;
    background: #fff;
}

.szi-single-post__product-image {
    display: block !important;
    min-height: 130px;
    background: #f5f5f2;
}

.szi-single-post__product-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-height: 130px;
    object-fit: cover;
}

.szi-single-post__product-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 17px 18px;
}

.szi-single-post__product-copy h3 {
    margin: 0 0 10px !important;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
}

.szi-single-post__product-copy h3 a {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
    text-decoration: none !important;
}

.szi-single-post__product-price {
    margin-bottom: 12px;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    font-size: 15px;
    font-weight: 800 !important;
}

.szi-single-post__relation-link {
    align-self: flex-start;
    margin-top: auto;
    color: #187b36 !important;
    -webkit-text-fill-color: #187b36 !important;
    font-size: 11px;
    font-weight: 850 !important;
    line-height: 1.2;
    letter-spacing: .05em;
    text-decoration: none !important;
    text-transform: uppercase;
}

.szi-single-post__article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.szi-single-post__article-card {
    position: relative;
    display: flex !important;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #d9ddd9;
    background: #fff;
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.szi-single-post__article-card::before,
.szi-single-post__glossary-card::before,
.szi-single-post__post-nav-item::before {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(to bottom, var(--szi-single-green) 0 33.333%, #fff 33.333% 66.666%, var(--szi-single-red) 66.666% 100%);
    pointer-events: none;
}

.szi-single-post__article-image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #f2f2ef;
}

.szi-single-post__article-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .35s ease;
}

.szi-single-post__article-copy {
    display: flex;
    min-height: 150px;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 20px 20px 18px 22px;
}

.szi-single-post__article-copy strong {
    color: #171717 !important;
    -webkit-text-fill-color: #171717 !important;
    font-size: 17px;
    font-weight: 700 !important;
    line-height: 1.28;
}

.szi-single-post__article-copy em {
    margin-top: auto;
    padding-top: 18px;
    color: #187b36 !important;
    -webkit-text-fill-color: #187b36 !important;
    font-size: 10px;
    font-style: normal;
    font-weight: 850 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.szi-single-post__article-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(7,48,28,.10);
}

.szi-single-post__article-card:hover .szi-single-post__article-image img {
    transform: scale(1.025);
}

.szi-single-post__relation-block--glossary {
    overflow: hidden;
    padding: 32px 30px 30px 34px;
    border-top: 0;
    background:
        radial-gradient(circle at 94% 3%, rgba(64,159,91,.22), transparent 31%),
        linear-gradient(122deg, #062b18 0%, #104a29 100%);
    box-shadow: 0 18px 42px rgba(7,48,28,.12);
}

.szi-single-post__relation-block--glossary::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(to bottom, var(--szi-single-green) 0 33.333%, #fff 33.333% 66.666%, var(--szi-single-red) 66.666% 100%);
}

.szi-single-post__relation-block--glossary .szi-single-post__relation-kicker {
    color: #9ed8a9 !important;
    -webkit-text-fill-color: #9ed8a9 !important;
}

.szi-single-post__relation-block--glossary .szi-single-post__relation-title {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.szi-single-post__glossary-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
}

.szi-single-post__glossary-card {
    position: relative;
    display: flex !important;
    min-height: 178px;
    min-width: 0;
    flex-direction: column;
    padding: 18px 16px 16px 19px;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.07);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    transition: transform .18s ease, background-color .18s ease;
}

.szi-single-post__glossary-card strong {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 15px;
    font-weight: 700 !important;
    line-height: 1.28;
}

.szi-single-post__glossary-card span {
    display: block;
    margin: 10px 0 15px;
    color: rgba(255,255,255,.70) !important;
    -webkit-text-fill-color: rgba(255,255,255,.70) !important;
    font-size: 12px;
    font-weight: 400 !important;
    line-height: 1.48;
}

.szi-single-post__glossary-card em {
    margin-top: auto;
    color: #aee2b8 !important;
    -webkit-text-fill-color: #aee2b8 !important;
    font-size: 10px;
    font-style: normal;
    font-weight: 850 !important;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.szi-single-post__glossary-card:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.11);
}

.szi-single-post__post-nav {
    display: grid;
    grid-template-columns: 1fr .72fr 1fr;
    gap: 10px;
    margin-top: 44px;
    padding-bottom: 12px;
}

.szi-single-post__post-nav-item {
    position: relative;
    display: flex !important;
    min-height: 112px;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    padding: 20px 22px 20px 25px;
    border: 1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 95% 0%, rgba(62,155,89,.20), transparent 36%),
        linear-gradient(120deg, #07301c 0%, #104a29 100%);
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    transition: transform .18s ease, box-shadow .18s ease;
}

.szi-single-post__post-nav-item span {
    display: block;
    margin-bottom: 8px;
    color: #9ed8a9 !important;
    -webkit-text-fill-color: #9ed8a9 !important;
    font-size: 10px;
    font-weight: 850 !important;
    line-height: 1.2;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.szi-single-post__post-nav-item strong {
    display: block;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    font-size: 14px;
    font-weight: 700 !important;
    line-height: 1.35;
}

.szi-single-post__post-nav-item--index {
    text-align: center;
}

.szi-single-post__post-nav-item--next {
    text-align: right;
}

.szi-single-post__post-nav-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(7,48,28,.16);
}

.szi-single-post__post-nav-spacer {
    min-height: 1px;
}

@media (max-width: 1024px) {
    .szi-single-post__glossary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .szi-single-post__article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .szi-single-post__relations,
    .szi-single-post__post-nav {
        width: calc(100% - 32px);
    }

    .szi-single-post__relation-block {
        margin-top: 42px;
    }

    .szi-single-post__product-grid,
    .szi-single-post__article-grid,
    .szi-single-post__glossary-grid,
    .szi-single-post__post-nav {
        grid-template-columns: 1fr;
    }

    .szi-single-post__product-card {
        grid-template-columns: 108px minmax(0, 1fr);
    }

    .szi-single-post__relation-block--glossary {
        padding: 26px 18px 22px 23px;
    }

    .szi-single-post__glossary-card {
        min-height: 0;
    }

    .szi-single-post__post-nav-item--index,
    .szi-single-post__post-nav-item--next {
        text-align: left;
    }

    .szi-single-post__post-nav-spacer {
        display: none;
    }
}
