.fixare24-content { min-width: 0; overflow-wrap: anywhere; }
.fixare24-content > ul, .fixare24-content > ol {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 10px;
    margin: 16px 0;
    padding: 0;
    list-style-position: inside;
}
.fixare24-content > ul { list-style-type: disc; }
.fixare24-content > ol { list-style-type: decimal; }
.fixare24-content > ul > li, .fixare24-content > ol > li {
    display: list-item;
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow-wrap: anywhere;
}

.fixare24-content--list-marker .fixare24-section-list { list-style: none; }
.fixare24-content--list-marker .fixare24-section-list > li {
    display: flex;
    align-items: flex-start;
    min-width: 0;
}
.fixare24-section-list__icon {
    display: inline-flex;
    flex: 0 0 auto;
    line-height: 1;
}
.fixare24-section-list__icon svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}
.fixare24-section-list__icon svg path,
.fixare24-section-list__icon svg polygon { fill: currentColor; }


/* Układ „droga / proces” – elementy obok siebie, ikona nad treścią. */
.fixare24-list-layout-route .fixare24-section-list {
    --fixare24-route-line-color: #cbd5e1;
    --fixare24-route-line-width: 2px;
    --fixare24-route-line-style: solid;
    --fixare24-route-icon-size: 18px;
    --fixare24-route-marker-size: var(--fixare24-route-icon-size);
    display: flex !important;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 0 !important;
    overflow-x: auto;
    overflow-y: visible;
    list-style: none !important;
    padding-left: 0;
    padding-right: 0;
    scrollbar-width: thin;
}
.fixare24-list-layout-route .fixare24-section-list > li {
    position: relative;
    z-index: 0;
    display: flex !important;
    flex: 1 1 0;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    text-align: center;
    min-width: 150px;
    list-style: none !important;
}
.fixare24-list-layout-route .fixare24-section-list__icon,
.fixare24-list-layout-route .fixare24-section-list__number {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    padding: 0;
    border-radius: 50%;
    background: #f5b800;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    vertical-align: middle;
}
.fixare24-list-layout-route .fixare24-content--list-marker .fixare24-section-list > li:not(:last-child)::after {
    content: "";
    position: absolute;
    z-index: 1;
    top: calc(var(--fixare24-route-marker-size) / 2);
    left: 50%;
    width: 100%;
    border-top: var(--fixare24-route-line-width) var(--fixare24-route-line-style) var(--fixare24-route-line-color);
    pointer-events: none;
}
.fixare24-list-layout-route .fixare24-section-list__icon svg,
.fixare24-list-layout-route .fixare24-section-list__icon i,
.fixare24-list-layout-route .fixare24-section-list__number {
    position: relative;
    z-index: 2;
}
.fixare24-section-list__icon i {
    display: block;
    color: currentColor;
    line-height: 1;
}

.fixare24-section-list__number {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 34px;
    min-height: 34px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f5b800;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    text-align: center;
}


/* Numeracja procesu: koło jest zawsze geometrycznie równe i wycentrowane na osi. */
.fixare24-number-shape-circle .fixare24-section-list__number {
    padding: 0 !important;
    border-radius: 50% !important;
    aspect-ratio: 1 / 1;
}
.fixare24-list-layout-route .fixare24-section-list__number {
    align-self: center;
    position: relative;
    z-index: 3;
}
.fixare24-list-layout-route .fixare24-section-list > li {
    --fixare24-marker-half: calc(var(--fixare24-route-marker-size) / 2);
}
.fixare24-list-layout-route .fixare24-content--list-marker .fixare24-section-list > li:not(:last-child)::after {
    top: var(--fixare24-marker-half);
}


/* =========================================================
   Fixare 24 v0.1.22 – stabilna oś procesu
   Linia jest nieruchoma, przesuwamy wyłącznie punkt/ikonę.
   ========================================================= */
.fixare24-list-layout-route .fixare24-section-list {
    --fixare24-route-axis-y: calc(var(--fixare24-route-marker-size) / 2);
    --fixare24-route-marker-offset: 0px;
    --fixare24-route-line-point-gap: 10px;
}

/* Linia procesu zawsze pozostaje na jednej, stałej osi. */
.fixare24-list-layout-route .fixare24-content--list-marker .fixare24-section-list > li:not(:last-child)::after {
    top: var(--fixare24-route-axis-y) !important;
}

/* Punkt pozostaje wycentrowany poziomo w swojej kolumnie. */
.fixare24-list-layout-route .fixare24-section-list__icon,
.fixare24-list-layout-route .fixare24-section-list__number {
    align-self: center !important;
}

/* GÓRA: punkt lekko nad osią. */
.fixare24-list-layout-route.fixare24-route-marker-top .fixare24-section-list__icon,
.fixare24-list-layout-route.fixare24-route-marker-top .fixare24-section-list__number {
    transform: translateY(calc(-50% + var(--fixare24-route-marker-offset))) !important;
}

/* ŚRODEK: środek punktu dokładnie na osi. */
.fixare24-list-layout-route.fixare24-route-marker-center .fixare24-section-list__icon,
.fixare24-list-layout-route.fixare24-route-marker-center .fixare24-section-list__number {
    transform: translateY(var(--fixare24-route-marker-offset)) !important;
}

/* DÓŁ: punkt lekko pod osią. */
.fixare24-list-layout-route.fixare24-route-marker-bottom .fixare24-section-list__icon,
.fixare24-list-layout-route.fixare24-route-marker-bottom .fixare24-section-list__number {
    transform: translateY(calc(50% + var(--fixare24-route-marker-offset))) !important;
}

/* Numer pozostaje idealnie wycentrowany w kółku. */
.fixare24-number-shape-circle .fixare24-section-list__number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    border-radius: 50% !important;
    text-align: center !important;
    line-height: 1 !important;
    aspect-ratio: 1 / 1;
}


/* =========================================================
   Fixare 24 v0.1.23 – przerwa między linią a kółkami
   ========================================================= */
.fixare24-list-layout-route .fixare24-content--list-marker .fixare24-section-list > li:not(:last-child)::after {
    left: calc(
        50%
        + (var(--fixare24-route-marker-size) / 2)
        + var(--fixare24-route-line-point-gap)
    ) !important;

    width: calc(
        100%
        - var(--fixare24-route-marker-size)
        - (var(--fixare24-route-line-point-gap) * 2)
    ) !important;
}


/* =========================================================
   Fixare 24 v0.1.27 – Sekcja 6 / boxy cenowe
   ========================================================= */
.fixare24-price-boxes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 20px;
    margin: 20px 0;
    min-width: 0;
}
.fixare24-price-box {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 24px;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    background: #fff;
    box-sizing: border-box;
    overflow-wrap: anywhere;
}
.fixare24-price-box__title {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    margin: 0 0 10px;
}
.fixare24-price-box__title-text {
    display: block;
    max-width: 100%;
}
.fixare24-price-box__price {
    margin: 0 0 12px;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.15;
}
.fixare24-price-box__description {
    margin: 0;
}
.fixare24-price-box__description > :first-child {
    margin-top: 0;
}
.fixare24-price-box__description > :last-child {
    margin-bottom: 0;
}
@media (max-width: 1024px) {
    .fixare24-price-boxes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 767px) {
    .fixare24-price-boxes {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* Fixare 24 v0.1.28 – pozycje cenowe w boxie */
.fixare24-price-box__items {
    display: grid;
    gap: 8px;
    margin: 0 0 12px;
}
.fixare24-price-box__item {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.fixare24-price-box__item-label {
    display: block;
    font-size: .95em;
    line-height: 1.35;
}
.fixare24-price-box__item .fixare24-price-box__price {
    margin: 0;
}


/* Fixare 24 v0.1.31 – pewne wyrównanie poziome nagłówka cenowego */
.fixare24-price-title-h-flex-start .fixare24-price-box__title {
    justify-content: flex-start !important;
}
.fixare24-price-title-h-flex-start .fixare24-price-box__title-text {
    text-align: left !important;
}
.fixare24-price-title-h-center .fixare24-price-box__title {
    justify-content: center !important;
}
.fixare24-price-title-h-center .fixare24-price-box__title-text {
    text-align: center !important;
}
.fixare24-price-title-h-flex-end .fixare24-price-box__title {
    justify-content: flex-end !important;
}
.fixare24-price-title-h-flex-end .fixare24-price-box__title-text {
    text-align: right !important;
}
