/* RedInGo_Pellet: layout pieces the theme's compiled Tailwind CSS may not contain. Plain CSS, no build step. */

.pellet-chip {
    padding: 0.375rem 0.75rem;
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.pellet-badge {
    display: inline-block;
    padding: 0.125rem 0.5rem;
    border-radius: 9999px;
    background: #166534;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.25rem;
}

.pellet-ok {
    color: #15803d;
}

.pellet-warn {
    color: #b91c1c;
}

.pellet-offer__discount {
    color: #15803d;
    font-weight: 700;
}

/* inputs and buttons side by side share one height */
.pellet-control {
    box-sizing: border-box;
    height: 3rem;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.25rem;
}

/* product page: quantity first and prominent, then the postcode */
.pellet-choose {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.pellet-qty {
    border: 2px solid #166534;
    background: #f0fdf4;
}

.pellet-qty__label {
    display: block;
    margin-bottom: 0.5rem;
    font-size: 1.125rem;
    font-weight: 700;
}

.pellet-qty__input {
    width: 7rem;
    font-size: 1.25rem;
    font-weight: 700;
}

.pellet-chip--active,
.pellet-chip--active:hover {
    background: #166534;
    border-color: #166534;
    color: #fff;
}

.pellet-qty__discount {
    margin-top: 0.5rem;
    color: #15803d;
    font-weight: 700;
}

.pellet-qty__hint {
    font-size: 0.875rem;
}

/* product page: one foldable card per warehouse; the head (warehouse, stock, pallet price) toggles the details */
.pellet-offer.card {
    padding: 0;
    border: 2px solid transparent;
    transition: border-color 0.15s ease-in-out;
}

.pellet-offer--best.card {
    border-color: #166534;
}

.pellet-offer--selected.card {
    border-color: #2d5a3d;
    box-shadow: 0 0 0 1px #2d5a3d;
}

/* the clicked offer (other than the best one) takes the orange highlight, the best one's green fades back;
   only open (not clicked - e.g. all open on desktop) keeps no frame */
.pellet-offer--selected:not(.pellet-offer--best).card {
    border-color: #e8741e;
    box-shadow: 0 0 0 1px #e8741e;
}

.pellet-offers ol:has(.pellet-offer--selected:not(.pellet-offer--best)) .pellet-offer--dimmed.card {
    border-color: rgba(22, 101, 52, 0.2);
    box-shadow: none;
}

.pellet-offer--unavailable {
    opacity: 0.6;
}

.pellet-offer__head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    padding: 1rem;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.pellet-offer__name {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 0;
}

.pellet-offer__headprice {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    text-align: right;
    white-space: nowrap;
}

.pellet-offer__chevron {
    flex: none;
    width: 0.6rem;
    height: 0.6rem;
    margin: 0 0.25rem 0.25rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.15s ease-in-out;
}

.pellet-offer--open .pellet-offer__chevron {
    margin-bottom: -0.25rem;
    transform: rotate(-135deg);
}

.pellet-offer__details {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0 1rem 1rem;
}

.pellet-offer__info,
.pellet-offer__buy {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.pellet-offer__footer {
    padding: 0 1rem 1rem;
}

.pellet-offer__details + .pellet-offer__footer {
    padding-top: 0;
}

.pellet-offer__head + .pellet-offer__footer {
    padding-top: 0;
}

.pellet-offer__add {
    justify-content: center;
    width: 100%;
}

.pellet-offer__footer-note {
    margin-top: 0.5rem;
    text-align: center;
}

.pellet-offer__delivery {
    display: flex;
    flex-direction: column;
    margin-top: 0.5rem;
    padding-top: 0.5rem;
    border-top: 1px solid #e7e5e4;
}

@media (min-width: 768px) {
    .pellet-choose {
        grid-template-columns: minmax(0, 1fr);
    }

    .pellet-offer__details {
        flex-direction: row;
        justify-content: space-between;
    }

    .pellet-offer__buy {
        align-items: flex-end;
        min-width: 18rem;
        text-align: right;
    }

    .pellet-offer__delivery {
        align-items: flex-end;
    }

    .pellet-offer__footer {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .pellet-offer__add {
        width: auto;
        min-width: 14rem;
    }

    .pellet-offer__footer-note {
        text-align: right;
    }
}

/* pellet category: warehouse tiles + postcode helper */
.pellet-warehouses__intro {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.pellet-warehouses__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.pellet-warehouse-tile {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    height: 100%;
    padding: 1rem;
    border: 2px solid #e7e5e4;
    border-radius: 0.75rem;
    background: #fff;
    transition: border-color 0.15s ease-in-out;
}

.pellet-warehouse-tile:hover,
.pellet-warehouse-tile:focus-visible {
    border-color: #166534;
}

.pellet-warehouse-tile--nearest {
    border-color: #166534;
    box-shadow: 0 0 0 1px #166534;
}

.pellet-warehouse-tile .pellet-badge {
    align-self: flex-start;
}

.pellet-warehouse-tile__cta {
    margin-top: auto;
    padding-top: 0.5rem;
    font-weight: 700;
    text-decoration: underline;
}

/* warehouse subcategory header */
.pellet-warehouse-header {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 1rem;
}

.pellet-badge--neutral {
    background: #44403c;
}

@media (min-width: 768px) {
    .pellet-warehouses__intro {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end;
    }

    .pellet-warehouses__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pellet-warehouse-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        padding: 1.25rem 1.5rem;
    }
}

/* product page: sales unit cards + quantity stepper */
.pellet-unit-title {
    margin-bottom: 0.75rem;
    color: #8a8070;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.pellet-units {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pellet-unit {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 1rem;
    border: 2px solid #e7e0d0;
    border-radius: 1rem;
    background: #faf8f3;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.pellet-unit--active {
    border-color: #2d5a3d;
    background: #eef5ee;
}

.pellet-unit__name {
    font-size: 1.125rem;
    font-weight: 700;
}

.pellet-unit__note {
    color: #6b6558;
    font-size: 0.875rem;
}

.pellet-unit__price {
    margin-top: 0.25rem;
    font-size: 1.125rem;
    font-weight: 700;
}

.pellet-unit__check {
    position: absolute;
    top: -0.6rem;
    right: -0.4rem;
    display: none;
    align-items: center;
    justify-content: center;
    width: 1.75rem;
    height: 1.75rem;
    border-radius: 9999px;
    background: #2d5a3d;
    color: #fff;
    font-size: 0.875rem;
}

.pellet-unit--active .pellet-unit__check {
    display: flex;
}

.pellet-stepper {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    width: 12rem;
    height: 3rem;
    padding: 0 0.75rem;
    border: 2px solid #d6cfbd;
    border-radius: 9999px;
    background: #fff;
}

.pellet-stepper button {
    width: 2.25rem;
    height: 2.25rem;
    border: 0;
    background: transparent;
    color: #57534e;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
}

.pellet-stepper button:disabled {
    opacity: 0.35;
    cursor: default;
}

.pellet-stepper input {
    width: 4rem;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}

.pellet-stepper input::-webkit-outer-spin-button,
.pellet-stepper input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

/* 2026-10-17: pallet weight tiles (same look as the sales unit tiles), price per tonne */
.pellet-size__icon {
    display: flex;
    color: #2d5a3d;
    margin-bottom: 0.25rem;
}

.pellet-size:not(.pellet-unit--active) .pellet-size__icon {
    color: #8a8070;
}

.pellet-perton {
    color: #2d5a3d;
}

.pellet-size .pellet-unit__price {
    font-size: 1rem;
    white-space: nowrap;
}

/* trust points under the warehouse offers */
.pellet-trust {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin: 1.25rem 0 0.5rem;
    padding: 0;
    list-style: none;
}

.pellet-trust li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    border: 1px solid #e7e0d0;
    border-radius: 1rem;
    background: #faf8f3;
    font-size: 0.875rem;
    line-height: 1.35;
    color: #57534e;
}

.pellet-trust svg {
    flex-shrink: 0;
    color: #2d5a3d;
}

.pellet-trust strong {
    display: block;
    color: #1c1917;
    font-weight: 600;
}

/* technical data */
.pellet-tech__keys {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.pellet-tech__key {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 1rem;
    border: 1px solid #e7e0d0;
    border-radius: 1rem;
    background: linear-gradient(135deg, #ffffff 0%, #faf7ef 100%);
}

.pellet-tech__icon {
    color: #2d5a3d;
    margin-bottom: 0.35rem;
}

.pellet-tech__label {
    color: #8a8070;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pellet-tech__value {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
}

.pellet-tech__sub {
    color: #6b6558;
    font-size: 0.875rem;
}

.pellet-tech__groups {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.75rem;
}

.pellet-tech__group {
    padding: 1rem 1.25rem;
}

.pellet-tech__row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.5rem 0;
    border-top: 1px solid #efe9dc;
    font-size: 0.9375rem;
}

.pellet-tech__row:first-child {
    border-top: 0;
}

.pellet-tech__row dt {
    color: #6b6558;
}

.pellet-tech__row dd {
    margin: 0;
    font-weight: 600;
    text-align: right;
}

/* season calculator */
.pellet-season {
    padding: 1.25rem;
    background: linear-gradient(135deg, #ffffff 0%, #f1f6ef 100%);
}

.pellet-season__head {
    display: flex;
    align-items: flex-start;
    gap: 0.875rem;
    margin-bottom: 1.25rem;
    color: #2d5a3d;
}

.pellet-season__head h2,
.pellet-season__head p {
    margin: 0;
}

.pellet-season__head h2 {
    color: #1c1917;
}

.pellet-season__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

.pellet-season__area {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.pellet-season__range {
    flex: 1;
    accent-color: #2d5a3d;
}

.pellet-season__area-value {
    min-width: 5.5rem;
    padding: 0.35rem 0.75rem;
    border: 2px solid #d6cfbd;
    border-radius: 999px;
    background: #fff;
    font-weight: 700;
    text-align: center;
}

.pellet-season__levels .pellet-unit {
    padding: 0.75rem;
}

.pellet-season__water {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    min-height: 2.75rem;
    font-size: 0.9375rem;
    cursor: pointer;
}

.pellet-season__water input {
    width: 1.25rem;
    height: 1.25rem;
    accent-color: #2d5a3d;
}

.pellet-season__result {
    padding: 1.25rem;
    border: 2px solid #2d5a3d;
    border-radius: 1rem;
    background: #eef5ee;
}

.pellet-season__tonnes {
    margin: 0 0 0.75rem;
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1;
    color: #2d5a3d;
}

.pellet-season__facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 1rem;
    margin: 0;
}

.pellet-season__facts dt {
    color: #6b6558;
    font-size: 0.8125rem;
}

.pellet-season__facts dd {
    margin: 0;
    font-weight: 700;
}

@media (min-width: 768px) {
    .pellet-trust {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pellet-tech__keys {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .pellet-tech__groups {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .pellet-season {
        padding: 1.75rem;
    }

    .pellet-season__grid {
        grid-template-columns: 1.4fr 1fr;
        gap: 2rem;
    }
}

@media (min-width: 1280px) {
    .pellet-trust {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

/* 2026-10-17 b: technical data + season calculator fold on phones (heading = toggle), always open from 768 px */
.pellet-fold__toggle {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.pellet-fold__title {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
}

.pellet-fold__summary {
    color: #6b6558;
    font-family: "Google Sans", ui-sans-serif, system-ui, sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
}

.pellet-fold__chev {
    flex-shrink: 0;
    color: #57534e;
    transition: transform 0.15s;
}

.pellet-fold.is-open .pellet-fold__chev {
    transform: rotate(180deg);
}

@media (max-width: 767.98px) {
    .pellet-fold:not(.is-open) .pellet-fold__body {
        display: none;
    }

    /* folded technical data: a card row like the season calculator */
    .pellet-tech.pellet-fold {
        padding: 1rem 1.25rem;
        border: 1px solid #e7e0d0;
        border-radius: 1rem;
        background: #faf8f3;
    }

    .pellet-tech.pellet-fold h2 {
        margin-bottom: 0;
    }

    .pellet-tech.pellet-fold.is-open h2 {
        margin-bottom: 1rem;
    }

    .pellet-season.pellet-fold:not(.is-open) .pellet-season__head {
        margin-bottom: 0;
    }

    .pellet-season.pellet-fold {
        padding: 1rem 1.25rem;
    }
}

@media (min-width: 768px) {
    .pellet-fold__toggle {
        cursor: default;
        pointer-events: none;
    }

    .pellet-fold__chev,
    .pellet-fold__summary {
        display: none;
    }
}

/* 2026-10-17 b: desktop - compact product page */
@media (min-width: 1024px) {
    /* gallery: three smaller slides instead of two big ones */
    .page-product-pellet #product-gallery-slider .snap-track {
        --snap-cols: 3;
    }

    .page-product-pellet .pellet-offers h2 {
        margin-bottom: 0.75rem;
    }

    /* postcode | pallet weight + sales unit side by side, quantity row under them */
    .pellet-choose {
        gap: 0.75rem;
        margin-bottom: 0.75rem;
    }

    .pellet-qty.card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 1rem;
        align-content: start;
        padding: 0.875rem 1rem;
    }

    /* sales unit and pallet weight always as two rows (never side by side in one line) */
    .pellet-qty__t2 { grid-column: 1 / -1; grid-row: 1; }
    .pellet-qty__units { grid-column: 1 / -1; grid-row: 2; margin-bottom: 1rem !important; }
    .pellet-qty__t1 { grid-column: 1 / -1; grid-row: 3; }
    .pellet-qty .pellet-sizes { grid-column: 1 / -1; grid-row: 4; margin-bottom: 1rem !important; }

    .pellet-qty .pellet-unit-title {
        margin-bottom: 0.4rem;
    }

    .pellet-qty .pellet-qty__label {
        grid-column: 1;
        grid-row: 5;
        align-self: center;
        margin: 0;
        font-size: 1rem;
        text-align: right;
    }

    .pellet-qty__stepper {
        grid-column: 2;
        grid-row: 5;
        justify-content: flex-start !important;
    }

    .pellet-qty__summary {
        grid-column: 1 / -1;
        grid-row: 6;
        margin-top: 0.4rem !important;
    }

    .pellet-qty .pellet-units {
        gap: 0.5rem;
    }

    .pellet-qty .pellet-unit {
        gap: 0.05rem;
        padding: 0.5rem 0.75rem;
        border-radius: 0.75rem;
    }

    .pellet-qty .pellet-unit__name {
        font-size: 1rem;
    }

    .pellet-qty .pellet-unit__note {
        font-size: 0.8125rem;
    }

    .pellet-qty .pellet-unit__price {
        margin-top: 0.1rem;
        font-size: 0.9375rem;
    }

    .pellet-qty .pellet-unit__check {
        width: 1.4rem;
        height: 1.4rem;
        font-size: 0.75rem;
    }

    /* the discount badge stays on the tile's bottom edge (smaller); the tiles keep room above it for the price */
    .pellet-qty .pellet-unit__badge {
        bottom: -0.7rem !important;
        padding: 0 0.55rem !important;
        font-size: 0.75rem !important;
    }

    .pellet-qty__units .pellet-unit {
        padding-bottom: 0.8rem;
    }

    /* the pallet icon sits next to the weight instead of above it */
    .pellet-size {
        display: grid !important;
        grid-template-columns: auto 1fr;
        column-gap: 0.6rem;
        align-items: center;
    }

    .pellet-size .pellet-size__icon {
        grid-row: 1 / span 3;
        margin: 0;
    }

    .pellet-size .pellet-size__icon svg {
        width: 30px;
        height: 30px;
    }

    .pellet-stepper {
        width: 10rem;
        height: 2.5rem;
    }

    /* warehouse offers: one row each - place + stock | per tonne | total | button */
    .pellet-offers ol {
        gap: 0.5rem;
    }


    .pellet-offer.card {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto auto;
        align-items: center;
        column-gap: 1.25rem;
        padding-right: 1rem;
    }

    .pellet-offer__head {
        grid-column: 1 / span 2;
        grid-row: 1;
        align-items: center !important;
        padding: 0.7rem 1rem 0.2rem;
    }

    .pellet-offer__name {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: baseline;
        column-gap: 0.75rem;
        row-gap: 0;
    }

    .pellet-offer__name .text-lg {
        font-size: 1rem;
    }

    .pellet-offer__headprice .text-xl {
        font-size: 1rem;
    }

    .pellet-offer__palletprice {
        display: none !important;
    }

    .pellet-offer__meta {
        grid-column: 1 / span 2;
        grid-row: 2;
        display: flex;
        flex-wrap: wrap;
        column-gap: 1rem;
        margin-top: 0 !important;
        padding: 0 1rem 0.6rem !important;
        color: #6b6558;
    }

    /* opened (click on the row): price tiers, discount and the total under the row, right-aligned */
    .pellet-offer__details {
        grid-column: 1 / -1;
        grid-row: 3;
        padding: 0.25rem 0 0.75rem 1rem;
        border-top: 1px dashed #e7e0d0;
        margin-left: 1rem;
        padding-left: 0;
    }

    .pellet-offer__details .text-2xl {
        font-size: 1.25rem;
    }

    .pellet-offer__footer {
        grid-column: 3;
        grid-row: 1 / span 2;
        padding: 0.5rem 0 !important;
    }

    .pellet-offer__add {
        min-width: 15rem;
        min-height: 2.5rem;
        padding-top: 0.4rem;
        padding-bottom: 0.4rem;
    }

    .pellet-offer__footer-note {
        margin-top: 0.2rem;
        font-size: 0.75rem;
    }

    .pellet-offer .pellet-badge[x-show] {
        top: -0.65rem !important;
        font-size: 0.75rem;
    }

    .pellet-trust {
        margin-top: 0.75rem;
        gap: 0.5rem;
    }

    .pellet-trust li {
        padding: 0.6rem 0.875rem;
    }

    /* technical data: slim key tiles */
    .pellet-tech.my-8,
    .pellet-season.my-8 {
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }

    .pellet-tech__keys {
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }

    .pellet-tech__key {
        display: grid;
        grid-template-columns: auto 1fr;
        column-gap: 0.75rem;
        align-items: center;
        padding: 0.6rem 0.875rem;
    }

    .pellet-tech__icon {
        grid-row: 1 / span 3;
        margin: 0;
    }

    .pellet-tech__value {
        font-size: 1.0625rem;
    }

    .pellet-tech__sub {
        font-size: 0.8125rem;
    }

    .pellet-tech__groups {
        gap: 0.5rem;
    }

    .pellet-tech__group {
        padding: 0.6rem 1rem;
    }

    .pellet-tech__row {
        padding: 0.3rem 0;
        font-size: 0.875rem;
    }

    .pellet-season {
        padding: 1rem 1.25rem !important;
    }

    .pellet-season__head {
        margin-bottom: 0.75rem;
    }

    .pellet-season__grid {
        gap: 1.25rem !important;
    }

    .pellet-season__levels {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 0.5rem;
    }

    .pellet-season__levels .pellet-unit {
        padding: 0.5rem 0.6rem;
    }

    .pellet-season__result {
        padding: 0.875rem 1rem;
    }

    .pellet-season__tonnes {
        margin-bottom: 0.4rem;
        font-size: 2rem;
    }
}

/* 2026-10-17 c: "Podaj kod, aby zobaczyć cenę" - opens the header "Dostawa do" */
.pellet-where__btn {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.625rem;
    border-radius: 0.5rem;
    background: #fbeee7;
    color: #9a3d16;
    font-size: 0.875rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.pellet-where__btn:hover {
    background: #f7e0d4;
}

.pellet-where__btn svg {
    flex-shrink: 0;
}

.pellet-where__change {
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* 2026-10-17 d: wide desktop - "Wybierz magazyn i ilość" over two columns: left the help group (consultation row +
   "Dostawa do"), right the buying decision (pallet weight, sales unit, quantity); the rest full width under them.
   The consultation row and the offers are siblings only through .product-info-main, so the form, the offers section
   and .pellet-choose pass their children to its grid (display: contents) - no markup moved, the AI chat form stays
   outside the cart form. */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        /* 1 top section, 2 heading, 3 "editing a cart item" note, 4 consultation | decision, 5 delivery | decision,
           6 trust points | decision; row 6 is flexible, so the taller decision card stretches it, not the rows above */
        grid-template-rows: auto auto auto min-content min-content 1fr;
        column-gap: 1.25rem;
        align-items: start;
    }

    /* keeps rows 2-3 taken (no heading any more, the note only when editing a cart item), else the first
       full-width item would fall into them */
    .page-product-pellet .product-info-main::before {
        content: "";
        grid-column: 1 / -1;
        grid-row: 2 / span 2;
        height: 1.5rem;   /* the space above the consultation | decision row (was the heading) */
    }

    .page-product-pellet .product-info-main > *,
    .page-product-pellet #product_addtocart_form > *,
    .page-product-pellet .pellet-offers > *,
    .page-product-pellet .pellet-choose > * {
        grid-column: 1 / -1;
    }

    .page-product-pellet .product-info-main > .product-top-section {
        grid-row: 1;
    }

    .page-product-pellet #product_addtocart_form,
    .page-product-pellet .pellet-offers,
    .page-product-pellet .pellet-choose {
        display: contents;
    }

    .page-product-pellet .pellet-offers > h2 {
        grid-row: 2;
        margin-top: 1.5rem;
    }

    .page-product-pellet .pellet-offers > .pellet-offers__editing {
        grid-row: 3;
    }

    .page-product-pellet .product-info-main > .pdp-cc-help-row {
        grid-column: 1;
        grid-row: 4;
        margin: 0 0 0.75rem !important;
    }

    .page-product-pellet .pdp-cc-help-row > section {
        margin: 0;
    }

    .page-product-pellet .pellet-choose > .pellet-where {
        grid-column: 1;
        grid-row: 5;
    }

    /* trust points: under "Dostawa do" as a list - icon in a soft green circle, the heading, the comment under it
       (below the offers on narrower screens) */
    .page-product-pellet .pellet-offers > .pellet-trust {
        grid-column: 1;
        grid-row: 6;
        grid-template-columns: 1fr;
        gap: 0;
        margin: 0.9rem 0 0.75rem;
        padding: 0.35rem 1rem;
        border: 1px solid #e7e0d0;
        border-radius: 1rem;
        background: linear-gradient(135deg, #ffffff 0%, #faf7ef 100%);
    }

    .page-product-pellet .pellet-trust li {
        align-items: center;
        gap: 0.85rem;
        padding: 0.7rem 0;
        border: 0;
        border-radius: 0;
        background: none;
        font-size: 0.8125rem;
        line-height: 1.35;
        color: #6b6558;
    }

    .page-product-pellet .pellet-trust li + li {
        border-top: 1px dashed #e7e0d0;
    }

    .page-product-pellet .pellet-trust svg {
        box-sizing: content-box;
        width: 20px;
        height: 20px;
        padding: 9px;
        border-radius: 999px;
        background: #eef5ee;
        color: #2d5a3d;
    }

    .page-product-pellet .pellet-trust strong {
        display: block;
        margin-bottom: 0.1rem;
        color: #1c1917;
        font-size: 0.875rem;
        font-weight: 500;
    }

    /* the delivery button fills the left column like the consultation box above it */
    .page-product-pellet .pellet-where__btn {
        width: 100%;
        padding: 0.7rem 1rem;
        border-radius: 0.75rem;
    }

    .page-product-pellet .pellet-choose > .pellet-qty {
        grid-column: 2;
        grid-row: 4 / span 3;
        margin-bottom: 0.75rem;
    }

    .page-product-pellet .pellet-offers > ol {
        margin-top: 0.25rem;
    }
}

/* pallet weight while single bags are chosen: shown, but inactive */
.pellet-sizes--off .pellet-unit {
    opacity: 0.45;
    cursor: not-allowed;
}

.pellet-sizes--off .pellet-unit--active {
    border-color: #d6cfbd;
    background: #faf8f3;
}

.pellet-sizes--off .pellet-unit__check {
    display: none;
}

.pellet-qty__off-note {
    letter-spacing: 0.04em;
    text-transform: none;
}

/* "Oferty składu …" in an open offer: bottom left (phones: under the totals) */
.pellet-offer__store {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    align-self: flex-start;
    order: 2;
    padding: 0.4rem 0.8rem;
    border: 1px solid #d3cab8;
    border-radius: 999px;
    background: #fff;
    color: #2d5a3d;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
}

.pellet-offer__store:hover {
    border-color: #2d5a3d;
}

@media (min-width: 768px) {
    .pellet-offer__details {
        align-items: flex-end;
    }

    .pellet-offer__store {
        order: 0;
        align-self: flex-end;
    }
}

/* offers that are not the active one: "Zobacz ofertę" / "Wybierz" as the rust pill (same as "Przeczytaj więcej") */
.pellet-offer__see {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 1rem;
    border: 1px solid #e2dacb;
    border-radius: 999px;
    background: #fff;
    color: #bd4d1d;
    font-size: 0.875rem;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
}

.pellet-offer__see:hover,
.pellet-offer__see:focus-visible {
    border-color: #bd4d1d;
}

/* 2026-10-17 e: offers as a comparison table from 1024 px (cards below that) + our own intro */
.pellet-compare {
    margin: 1.5rem 0 1.25rem;
}

.pellet-compare__title {
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}

.pellet-compare__lead {
    margin: 0.25rem 0 0;
    max-width: 52rem;
    color: #6b6558;
    font-size: 0.875rem;
}

.pellet-table-wrap {
    display: none;
}

@media (min-width: 1024px) {
    .pellet-table-wrap {
        display: block;
        overflow-x: auto;
        border: 1px solid #e7e0d0;
        border-radius: 1rem;
        background: #fff;
    }

    .pellet-offers > ol {
        display: none !important;
    }

    .pellet-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 0.875rem;
    }

    .pellet-table th {
        padding: 0.75rem 1rem;
        border-bottom: 1px solid #e7e0d0;
        background: #fff;
        color: #8a8070;
        font-size: 0.6875rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-align: left;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .pellet-table__th-note {
        letter-spacing: 0;
        text-transform: none;
    }

    .pellet-table td {
        padding: 0.75rem 1rem;
        border-bottom: 1px solid #f0ebe0;
        vertical-align: middle;
    }

    .pellet-table tbody tr:last-child td {
        border-bottom: 0;
    }

    .pellet-table__row {
        cursor: pointer;
        transition: background-color 0.15s;
    }

    .pellet-table__row:hover {
        background: #fbf9f4;
    }

    .pellet-table__row--active,
    .pellet-table__row--active:hover {
        background: #eef5ee;
        box-shadow: inset 3px 0 0 #2d5a3d;
    }

    .pellet-table__row--off {
        opacity: 0.55;
    }

    .pellet-table__store {
        color: #1c1917;
        font-size: 0.9375rem;
        font-weight: 500;
    }

    .pellet-table__badge {
        display: inline-block;
        margin-left: 0.4rem;
        padding: 0.05rem 0.5rem;
        border-radius: 999px;
        background: #166534;
        color: #fff;
        font-size: 0.6875rem;
        vertical-align: 1px;
    }

    .pellet-table__badge--neutral {
        background: #44403c;
    }

    .pellet-table__sub {
        display: block;
        margin-top: 0.1rem;
        color: #8a8070;
        font-size: 0.75rem;
    }

    .pellet-table__sub--green {
        color: #2d5a3d;
    }

    .pellet-table__link {
        display: inline-block;
        margin-top: 0.15rem;
        color: #2d5a3d;
        font-size: 0.75rem;
        text-decoration: underline;
        text-underline-offset: 2px;
    }

    .pellet-table__strong {
        color: #1c1917;
        font-weight: 500;
        white-space: nowrap;
    }

    .pellet-table__price {
        display: block;
        color: #1c1917;
        font-size: 1rem;
        font-weight: 500;
        white-space: nowrap;
    }

    .pellet-table__strike {
        display: block;
        color: #a8a29e;
        font-size: 0.75rem;
        text-decoration: line-through;
    }

    .pellet-table__action {
        text-align: right;
        white-space: nowrap;
    }

    .pellet-table__add {
        min-height: 2.5rem;
        padding: 0.4rem 1.1rem;
    }
}

/* delivery under the quantity (the cheapest offer with delivery) */
.pellet-qty__delivery {
    grid-column: 1 / -1;
    display: flex;
    justify-content: center;
    margin-top: 0.6rem;
}

.pellet-qty__delivery-line,
.pellet-qty__delivery-set {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.25rem 0.5rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid #d6e5d6;
    color: #2d5a3d;
    font-size: 0.875rem;
}

.pellet-qty__delivery-set {
    border-color: #f3d7c9;
    background: #fbeee7;
    color: #9a3d16;
    cursor: pointer;
}

.pellet-qty__delivery-total {
    color: #1c1917;
    font-weight: 500;
}

@media (min-width: 1024px) {
    .pellet-qty__delivery {
        grid-row: 7;
    }
}

/* 2026-10-17 f: desktop buy box - compact choice rows instead of big tiles, the cart button in the card */
.pellet-qty__cta {
    display: none;
}

@media (min-width: 1024px) {
    .pellet-qty.card {
        padding: 1.1rem 1.25rem 1.25rem;
        border-width: 1px;
        border-color: #cfe3d1;
        border-radius: 1rem;
        background: #fff;
    }

    .pellet-qty .pellet-units {
        gap: 0.5rem;
    }

    /* a choice = one low row: name and note on the left, price on the right */
    .pellet-qty .pellet-unit {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 0.75rem;
        row-gap: 0;
        min-height: 3.4rem;
        padding: 0.5rem 0.9rem !important;
        border-width: 1px;
        border-radius: 0.75rem;
        background: #fff;
    }

    .pellet-qty .pellet-unit--active {
        border-color: #2d5a3d;
        background: #f3f8f3;
        box-shadow: 0 0 0 1px #2d5a3d;
    }

    .pellet-qty .pellet-unit__name { grid-column: 1; grid-row: 1; font-size: 0.9375rem; }
    .pellet-qty .pellet-unit__note { grid-column: 1; grid-row: 2; font-size: 0.75rem; }
    .pellet-qty .pellet-unit__price { grid-column: 2; grid-row: 1 / span 2; margin: 0; font-size: 0.9375rem; text-align: right; white-space: nowrap; }

    .pellet-qty .pellet-size {
        grid-template-columns: auto minmax(0, 1fr) auto;
    }

    .pellet-qty .pellet-size .pellet-size__icon { grid-column: 1; grid-row: 1 / span 2; }
    .pellet-qty .pellet-size .pellet-unit__name { grid-column: 2; }
    .pellet-qty .pellet-size .pellet-unit__note { grid-column: 2; }
    .pellet-qty .pellet-size .pellet-unit__price { grid-column: 3; }

    .pellet-qty .pellet-size .pellet-size__icon svg {
        width: 26px;
        height: 26px;
    }

    /* one pallet size only: a single full-width row */
    .pellet-qty .pellet-sizes--single {
        grid-template-columns: 1fr;
    }

    .pellet-qty .pellet-unit__check {
        top: 50%;
        right: auto;
        left: -0.55rem;
        width: 1.1rem;
        height: 1.1rem;
        transform: translateY(-50%);
        font-size: 0.625rem;
    }

    /* the discount badge sits on the top edge, right */
    .pellet-qty .pellet-unit__badge {
        top: -0.6rem !important;
        bottom: auto !important;
        left: auto !important;
        right: 0.75rem !important;
        transform: none !important;
        box-shadow: 0 0 0 2px #fff !important;
    }

    .pellet-qty__units .pellet-unit {
        padding-bottom: 0.5rem !important;
    }

    .pellet-qty .pellet-unit-title {
        margin-bottom: 0.35rem;
    }

    .pellet-qty__units,
    .pellet-qty .pellet-sizes {
        margin-bottom: 0.9rem !important;
    }

    .pellet-qty .pellet-qty__label {
        font-size: 0.9375rem;
        font-weight: 500;
    }

    .pellet-qty__delivery {
        margin-top: 0.75rem;
    }

    .pellet-qty__cta {
        grid-column: 1 / -1;
        grid-row: 8;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        margin-top: 1rem;
        padding-top: 1rem;
        border-top: 1px solid #e7e0d0;
    }

    .pellet-qty__cta-offer {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    .pellet-qty__cta-label {
        color: #8a8070;
        font-size: 0.6875rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .pellet-qty__cta-store {
        overflow: hidden;
        color: #1c1917;
        font-size: 0.9375rem;
        font-weight: 500;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .pellet-qty__cta-btn {
        flex-shrink: 0;
        justify-content: center;
        min-height: 2.9rem;
        padding: 0.55rem 1.4rem;
    }

    .pellet-table__chosen {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        color: #2d5a3d;
        font-size: 0.875rem;
        font-weight: 500;
    }
}

/* wide desktop: the left column as one family of white cards */
@media (min-width: 1280px) {
    .page-product-pellet .pdp-cc-help-row > section > div:first-child {
        border: 1px solid #e7e0d0 !important;
        border-radius: 1rem !important;
        background: #fff !important;
    }

    .page-product-pellet .pellet-where__btn {
        border: 1px solid #e7e0d0;
        border-radius: 1rem;
        background: #fff;
        padding: 0.85rem 1rem;
    }

    .page-product-pellet .pellet-where__btn:hover {
        border-color: #bd4d1d;
        background: #fff;
    }

    .page-product-pellet .pellet-offers > .pellet-trust {
        margin-top: 0.75rem;
        background: #fff;
    }

    .page-product-pellet .pellet-choose > .pellet-where {
        margin-top: 0;
    }

    .page-product-pellet .product-info-main > .pdp-cc-help-row {
        margin-bottom: 0.75rem !important;
    }
}

/* 2026-10-17 g: shared rules from the concepts - one border colour and radius for every card, stronger text contrast,
   colour by role (green = selection, rust = the main button, pink = discount); wide desktop: both columns end level */
.page-product-pellet {
    --pl-line: #e2dacb;
    --pl-ink: #1c1917;
    --pl-ink-2: #47423b;
    --pl-ink-3: #6b6457;
}

.page-product-pellet .pellet-unit-title,
.page-product-pellet .pellet-table th,
.page-product-pellet .pellet-qty__cta-label,
.page-product-pellet .pellet-tech__label,
.page-product-pellet .pellet-table__sub,
.page-product-pellet .pellet-table__strike {
    color: var(--pl-ink-3);
}

.page-product-pellet .pellet-unit__note,
.page-product-pellet .pellet-trust li,
.page-product-pellet .pellet-compare__lead,
.page-product-pellet .pellet-qty__summary,
.page-product-pellet .pellet-tech__row dt {
    color: var(--pl-ink-2) !important;
}

.page-product-pellet .pellet-unit__name,
.page-product-pellet .pellet-unit__price,
.page-product-pellet .pellet-trust strong,
.page-product-pellet .pellet-qty .pellet-qty__label {
    color: var(--pl-ink);
}

@media (min-width: 1024px) {
    .page-product-pellet .pellet-qty.card,
    .page-product-pellet .pellet-table-wrap,
    .page-product-pellet .pellet-qty .pellet-unit:not(.pellet-unit--active),
    .page-product-pellet .pellet-stepper,
    .page-product-pellet .pellet-qty__delivery-line {
        border-color: var(--pl-line);
    }

    .page-product-pellet .pellet-qty.card {
        border-radius: 12px;
    }
}

@media (min-width: 1280px) {
    .page-product-pellet .pdp-cc-help-row > section > div:first-child,
    .page-product-pellet .pellet-where__btn,
    .page-product-pellet .pellet-offers > .pellet-trust {
        border-color: var(--pl-line) !important;
        border-radius: 12px !important;
    }

    .page-product-pellet .pellet-trust li + li {
        border-top: 1px solid var(--pl-line);
    }

    /* equal height: the decision card spans rows 4-6 and stretches; the trust list fills the left column to the
       same bottom; inside the card the cart row goes to the bottom */
    .page-product-pellet .pellet-choose > .pellet-qty {
        align-self: stretch;
        margin-bottom: 0;
    }

    .page-product-pellet .pellet-offers > .pellet-trust {
        align-self: stretch;
        align-content: space-around;
        margin-bottom: 0;
    }

    .page-product-pellet .pellet-qty.card {
        grid-template-rows: repeat(7, auto) 1fr;
    }

    .page-product-pellet .pellet-qty__cta {
        align-self: end;
    }

    .page-product-pellet .pellet-compare {
        margin-top: 2rem;
    }
}

/* the description (theme block moved under the offers) had no space above it on desktop */
@media (min-width: 1024px) {
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        margin-top: 2.5rem;
    }
}

/* 2026-10-20: the short description under the name is back on all pellet pages (the 2026-10-17 temporary hiding
   rule was removed at the user's request) */

/* big desktop (1536 px+, the pictures are ~300 px high): the short description gets its own look, at most 4 lines,
   so the name box stays as low as the gallery */
@media (min-width: 1536px) {
    .page-product-pellet .product-top-section-title p.line-clamp-4 {
        display: -webkit-box;
        -webkit-line-clamp: 4;
        overflow: hidden;
        margin-top: 0.25rem;
        color: #47423b;
        font-size: 0.875rem;
        line-height: 1.45;
    }
}

/* desktop: the gallery keeps the height of its pictures (it used to stretch to the taller left column, so the arrows
   hung under the pictures and the row seemed to jump) */
@media (min-width: 1024px) {
    .page-product-pellet .product-top-section-media {
        align-self: start;
    }

    .page-product-pellet #product-gallery-slider {
        align-self: flex-start;
    }
}

/* desktop: the name + "Inne warianty" box no taller than the gallery pictures */
@media (min-width: 1024px) {
    .page-product-pellet .product-top-section-info {
        padding-bottom: 0.75rem;
    }

    /* "Inne warianty": a small label in the body font, like the other labels on the card */
    .page-product-pellet .product-top-section-info #related h2 {
        font-family: "Google Sans", ui-sans-serif, system-ui, sans-serif;
        font-size: 0.75rem;
        font-weight: 400;
        line-height: 1.4;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: #6b6457;
    }

    .page-product-pellet .product-top-section-title .mb-2 {
        margin-bottom: 0.25rem;
    }
}

/* desktop: "Inne warianty" as compact rows (small picture, name and price beside it) so the name box stays as low as
   the gallery, also with a subheader */
@media (min-width: 1024px) {
    .page-product-pellet .product-top-section-info #related [role="tabpanel"] {
        flex-direction: row !important;
        align-items: center;
        gap: 0.6rem;
    }

    .page-product-pellet .product-top-section-info #related [role="tabpanel"] > a {
        flex-shrink: 0;
    }

    .page-product-pellet .product-top-section-info #related .product-image-photo {
        width: 44px !important;
        height: 44px !important;
    }

    .page-product-pellet .product-top-section-info #related .snap-track {
        padding-top: 0.35rem;
    }
}

/* smaller SKU pill under the name */
.page-product-pellet .product-top-section-title button[title="Kopiuj SKU"] {
    padding: 0.3rem 0.6rem;
    font-size: 0.75rem;
    line-height: 1;
}

/* "Inne warianty" rows: picture, then name over price */
@media (min-width: 1024px) {
    .page-product-pellet .product-top-section-info #related [role="tabpanel"] {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr);
        column-gap: 0.6rem;
        row-gap: 0;
    }

    .page-product-pellet .product-top-section-info #related [role="tabpanel"] > a {
        grid-row: 1 / span 2;
    }
}

/* description: headings without bold (also the <strong> the editor put inside them) */
.page-product-pellet .product-description :is(h1, h2, h3, h4, h5, h6),
.page-product-pellet .product-description :is(h1, h2, h3, h4, h5, h6) :is(strong, b) {
    font-weight: 400 !important;
}

/* the bold lead line that opens a paragraph works as its heading: medium instead of bold */
.page-product-pellet .product-description p > strong:first-child {
    font-weight: 500;
}

/* description folded completely (only the "Czytaj więcej" bar) until the customer opens it; the theme sets
   max-height: none when open */
.page-product-pellet [x-ref="description"]:not([style*="none"]) {
    max-height: 0 !important;
}

.page-product-pellet [x-ref="description"]:not([style*="none"]) + div {
    position: static !important;
    padding: 0 !important;
    background: linear-gradient(#e2dacb, #e2dacb) center / 100% 1px no-repeat !important;
}

.page-product-pellet [x-ref="description"]:not([style*="none"]) + div button {
    margin-top: 0;
    padding: 0.75rem 0;
}

/* a list item that only wraps a nested list had its own check next to the first item's check */
.page-product-pellet .product-description ul:not([class]) > li:has(> ul, > ol) {
    padding-left: 0;
}

.page-product-pellet .product-description ul:not([class]) > li:has(> ul, > ol)::before,
.page-product-pellet .product-description ul:not([class]) > li:has(> ul, > ol)::after {
    content: none !important;
    display: none !important;
}

.page-product-pellet .product-description li > ul:not([class]) {
    margin: 0;
}

/* description toggle in our style: rust text in a white pill with the shared border, on a thin line */
.page-product-pellet [x-ref="description"] + div {
    display: flex;
    justify-content: center;
    border-bottom: 0 !important;
    background-image: linear-gradient(#e2dacb, #e2dacb) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 1px !important;
    background-position: center !important;
}

.page-product-pellet [x-ref="description"] + div button {
    position: relative;
    width: auto !important;
    margin: 0.5rem 0 !important;
    padding: 0.55rem 1.1rem 0.55rem 1.25rem !important;
    gap: 0.4rem;
    border: 1px solid #e2dacb;
    border-radius: 999px;
    background: #fff;
    color: #bd4d1d !important;
    font-size: 0.9375rem;
    font-weight: 500;
    text-decoration: none !important;
}

.page-product-pellet [x-ref="description"] + div button::after {
    content: "";
    width: 0.45rem;
    height: 0.45rem;
    margin-left: 0.15rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-2px) rotate(45deg);
}

.page-product-pellet [x-ref="description"][style*="none"] + div button::after {
    transform: translateY(2px) rotate(-135deg);
}

.page-product-pellet [x-ref="description"] + div button:hover {
    border-color: #bd4d1d;
}

/* the theme's "Specyfikacja" card is not shown on pellet pages (the data is in "Dane techniczne") */
.page-product-pellet .product-info-section:has(.odd\:bg-stone-100) {
    display: none !important;
}

/* the delivery method under the delivery line (own row) */
.pellet-qty__delivery-method {
    flex-basis: 100%;
    color: #47423b;
    font-size: 0.8125rem;
    text-align: center;
}

/* 2026-10-18: wide desktop (1280 px+, the user: from 1280) - technical data on the left of the offers table (25 / 75), headings on one line.
   The grid gets 20 columns: top rows 10 + 10 (help | decision), then 5 + 15 (technical data | comparison table). */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main {
        grid-template-columns: repeat(20, minmax(0, 1fr));
        grid-template-rows: auto auto auto min-content min-content 1fr auto auto auto;
    }

    .page-product-pellet .product-info-main > .pdp-cc-help-row,
    .page-product-pellet .pellet-choose > .pellet-where,
    .page-product-pellet .pellet-offers > .pellet-trust {
        grid-column: 1 / 11;
    }

    .page-product-pellet .pellet-choose > .pellet-qty {
        grid-column: 11 / 21;
    }

    .page-product-pellet .pellet-offers > .pellet-compare {
        grid-column: 6 / 21;
        grid-row: 7;
        margin-top: 2rem;
    }

    .page-product-pellet .pellet-offers > .pellet-table-wrap {
        grid-column: 6 / 21;
        grid-row: 8;
    }

    .page-product-pellet .pellet-offers > p.text-sm {
        grid-column: 6 / 21;
        grid-row: 9;
    }

    .page-product-pellet #product_addtocart_form > .pellet-tech {
        grid-column: 1 / 6;
        grid-row: 7 / span 3;
        align-self: start;
        margin: 2rem 0.25rem 0 0;
    }

    .page-product-pellet .pellet-tech h2 {
        margin-bottom: 0.75rem;
        font-size: 1.25rem;
    }

    /* key figures: one low row each - icon, label, value */
    .page-product-pellet .pellet-tech__keys {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 0.6rem;
        padding: 0.25rem 0.85rem;
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-tech__key {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 0.6rem;
        padding: 0.5rem 0;
        border: 0;
        border-radius: 0;
        background: none;
    }

    .page-product-pellet .pellet-tech__key + .pellet-tech__key {
        border-top: 1px solid #efe9dd;
    }

    .page-product-pellet .pellet-tech__icon {
        grid-row: 1 / span 2;
        width: 20px;
        height: 20px;
    }

    .page-product-pellet .pellet-tech__label {
        grid-column: 2;
        font-size: 0.6875rem;
    }

    .page-product-pellet .pellet-tech__value {
        grid-column: 3;
        grid-row: 1 / span 2;
        font-size: 0.9375rem;
        text-align: right;
        white-space: nowrap;
    }

    .page-product-pellet .pellet-tech__sub {
        grid-column: 2;
        font-size: 0.75rem;
    }

    .page-product-pellet .pellet-tech__groups {
        grid-template-columns: 1fr;
        gap: 0.6rem;
    }

    .page-product-pellet .pellet-tech__group {
        padding: 0.55rem 0.85rem;
        border-color: #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-tech__group .pellet-unit-title {
        margin-bottom: 0.2rem;
    }

    .page-product-pellet .pellet-tech__row {
        gap: 0.75rem;
        padding: 0.3rem 0;
        font-size: 0.8125rem;
    }

    .page-product-pellet .pellet-compare__title {
        font-size: 1.25rem;
    }
}

/* big desktop technical data: text up to 15 px, bigger icons */
@media (min-width: 1280px) {
    .page-product-pellet .pellet-tech__key {
        grid-template-columns: 34px minmax(0, 1fr) auto;
        padding: 0.6rem 0;
    }

    .page-product-pellet .pellet-tech__icon {
        width: 26px;
        height: 26px;
    }

    .page-product-pellet .pellet-tech__label {
        font-size: 0.75rem;
    }

    .page-product-pellet .pellet-tech__value {
        font-size: 0.9375rem;
    }

    .page-product-pellet .pellet-tech__sub {
        font-size: 0.8125rem;
    }

    .page-product-pellet .pellet-tech__row {
        padding: 0.4rem 0;
        font-size: 0.9375rem;
    }

    .page-product-pellet .pellet-tech__group .pellet-unit-title {
        font-size: 0.75rem;
    }
}

/* big desktop: technical data in 15 % (3 of 20 columns), the table in 85 %; in that width label above value */
@media (min-width: 1280px) {
    .page-product-pellet #product_addtocart_form > .pellet-tech {
        grid-column: 1 / 4;
    }

    .page-product-pellet .pellet-offers > .pellet-compare,
    .page-product-pellet .pellet-offers > .pellet-table-wrap,
    .page-product-pellet .pellet-offers > p.text-sm {
        grid-column: 4 / 21;
    }

    .page-product-pellet .pellet-tech__keys {
        padding: 0.15rem 0.75rem;
    }

    .page-product-pellet .pellet-tech__key {
        grid-template-columns: 30px minmax(0, 1fr);
        row-gap: 0.05rem;
    }

    .page-product-pellet .pellet-tech__icon {
        grid-row: 1 / span 3;
    }

    .page-product-pellet .pellet-tech__label,
    .page-product-pellet .pellet-tech__value,
    .page-product-pellet .pellet-tech__sub {
        grid-column: 2;
        grid-row: auto;
        text-align: left;
    }

    .page-product-pellet .pellet-tech__group {
        padding: 0.5rem 0.75rem;
    }

    .page-product-pellet .pellet-tech__row {
        flex-direction: column;
        gap: 0;
        font-size: 0.875rem;
    }

    .page-product-pellet .pellet-tech__row dt {
        font-size: 0.75rem;
    }

    .page-product-pellet .pellet-tech__row dd {
        text-align: left;
    }
}

/* big desktop technical data: large icons */
@media (min-width: 1280px) {
    .page-product-pellet .pellet-tech__key {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .page-product-pellet .pellet-tech__icon {
        width: 34px;
        height: 34px;
    }
}

@media (min-width: 1280px) {
    .page-product-pellet .pellet-tech__group--repeat {
        display: none;
    }
}

/* flag next to the country of origin */
.pellet-flag {
    display: inline-block;
    width: 20px;
    height: 13px;
    margin-right: 0.4rem;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgb(0 0 0 / .12);
    vertical-align: -1px;
    object-fit: cover;
}

/* 1280-1535 px: the 15 % column is ~165 px - smaller icons so the labels fit */
@media (min-width: 1280px) and (max-width: 1535.98px) {
    .page-product-pellet .pellet-tech__key {
        grid-template-columns: 30px minmax(0, 1fr);
        column-gap: 0.45rem;
    }

    .page-product-pellet .pellet-tech__icon {
        width: 26px;
        height: 26px;
    }

    .page-product-pellet .pellet-tech__label {
        letter-spacing: 0.04em;
    }
}

/* 2026-10-18: phones and tablets get the desktop palette - white cards, one border (#e2dacb), 12 px radius,
   green only for the selection, rust only for the main button and "Podaj kod" */
@media (max-width: 1279.98px) {
    .page-product-pellet .pdp-cc-help-row > section > div:first-child {
        border: 1px solid #e2dacb !important;
        border-radius: 12px !important;
        background: #fff !important;
    }

    .page-product-pellet .pellet-where__btn {
        width: 100%;
        padding: 0.8rem 1rem;
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-trust {
        gap: 0;
        padding: 0.25rem 1rem;
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-trust li {
        align-items: center;
        padding: 0.75rem 0;
        border: 0;
        border-radius: 0;
        background: none;
    }

    .page-product-pellet .pellet-trust li + li {
        border-top: 1px solid #e2dacb;
    }

    .page-product-pellet .pellet-trust svg {
        box-sizing: content-box;
        width: 20px;
        height: 20px;
        padding: 8px;
        border-radius: 999px;
        background: #eef5ee;
    }

    .page-product-pellet .pellet-trust strong {
        font-weight: 500;
    }
}

@media (max-width: 1023.98px) {
    .page-product-pellet .pellet-qty.card {
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-qty .pellet-unit {
        border-width: 1px;
        border-color: #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-qty .pellet-unit--active {
        border-color: #2d5a3d;
        background: #f3f8f3;
        box-shadow: 0 0 0 1px #2d5a3d;
    }

    .page-product-pellet .pellet-stepper {
        border-width: 1px;
        border-color: #e2dacb;
    }

    .page-product-pellet .pellet-qty__delivery-line {
        border-color: #e2dacb;
    }

    .page-product-pellet .pellet-offer.card {
        border-width: 1px;
        border-color: #e2dacb;
        border-radius: 12px;
    }

    .page-product-pellet .pellet-offer--best.card {
        border-color: #2d5a3d;
        box-shadow: 0 0 0 1px #2d5a3d;
    }

    .page-product-pellet .pellet-offer--selected:not(.pellet-offer--best).card {
        border-color: #bd4d1d;
        box-shadow: 0 0 0 1px #bd4d1d;
    }

    .page-product-pellet .pellet-tech.pellet-fold,
    .page-product-pellet .pellet-season.pellet-fold {
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    .page-product-pellet .pellet-tech__key,
    .page-product-pellet .pellet-tech__group,
    .page-product-pellet .pellet-season__result {
        border-color: #e2dacb;
        background: #fff;
    }
}

/* choice rows: more room inside - the check sits clear of the icon/name, a wider gap before the price */
@media (min-width: 1024px) {
    .page-product-pellet .pellet-qty .pellet-unit {
        column-gap: 1rem;
        padding: 0.65rem 1rem 0.65rem 1.25rem !important;
    }

    .page-product-pellet .pellet-qty .pellet-unit__check {
        left: -0.7rem;
    }

    .page-product-pellet .pellet-qty .pellet-size {
        column-gap: 0.85rem;
    }

    .page-product-pellet .pellet-qty .pellet-units {
        gap: 0.75rem;
    }
}

@media (min-width: 1536px) {
    .page-product-pellet .pellet-qty .pellet-unit {
        min-height: 3.75rem;
        padding: 0.8rem 1.25rem 0.8rem 1.5rem !important;
    }
}

/* more room between the columns (help | decision, technical data | table) and inside the table columns */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main {
        column-gap: 1.75rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-tech {
        margin-right: 0;
    }

    .page-product-pellet .pellet-table th,
    .page-product-pellet .pellet-table td {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }
}

@media (min-width: 1536px) {
    .page-product-pellet .product-info-main {
        column-gap: 2.25rem;
    }

    .page-product-pellet .pellet-table th,
    .page-product-pellet .pellet-table td {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
}

/* the check of a chosen row sits on its own top edge (left corner) - on the left edge it reached into the gap and
   over the neighbouring tile */
@media (min-width: 1024px) {
    .page-product-pellet .pellet-qty .pellet-unit__check {
        top: -0.55rem !important;
        left: 0.85rem !important;
        right: auto !important;
        transform: none !important;
        width: 1.15rem;
        height: 1.15rem;
        box-shadow: 0 0 0 2px #fff;
    }

    .page-product-pellet .pellet-qty .pellet-unit {
        padding-left: 1.1rem !important;
    }
}

/* room under the row labels for the check and the discount badge sitting on the tiles' top edge */
@media (min-width: 1024px) {
    .page-product-pellet .pellet-qty .pellet-unit-title {
        margin-bottom: 0.9rem !important;
    }
}

/* "…" after the short description: a link to the full description */
.rg-sd-more {
    margin-left: 0.15rem;
    padding: 0 0.3rem;
    border-radius: 6px;
    color: #bd4d1d;
    font-weight: 500;
    text-decoration: none;
}

.rg-sd-more:hover,
.rg-sd-more:focus-visible {
    background: #fbeee7;
}

/* 2026-10-18: wide desktop (1280 px+) - the season calculator in the left column (15 %) next to the description */
@media (min-width: 1280px) {
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        grid-column: 4 / 21;
        grid-row: 10;
        align-self: start;
        margin-top: 2.5rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season {
        grid-column: 1 / 4;
        grid-row: 10;
        align-self: start;
        margin: 2.5rem 0 0;
        padding: 0.9rem 0.85rem !important;
        border: 1px solid #e2dacb;
        border-radius: 12px;
        background: #fff;
    }

    /* narrow, one column: area, insulation levels under each other, hot water, then the result */
    .page-product-pellet .pellet-season__head {
        gap: 0.5rem;
        margin-bottom: 0.75rem;
    }

    .page-product-pellet .pellet-season__head > svg {
        display: none;
    }

    .page-product-pellet .pellet-season__head h2 {
        font-size: 1.125rem;
        line-height: 1.3;
    }

    .page-product-pellet .pellet-season__head p {
        font-size: 0.8125rem;
    }

    .page-product-pellet .pellet-season__grid {
        grid-template-columns: 1fr !important;
        gap: 0.9rem !important;
    }

    .page-product-pellet .pellet-season__area {
        gap: 0.5rem;
    }

    .page-product-pellet .pellet-season__area-value {
        min-width: 4.5rem;
        padding: 0.25rem 0.5rem;
        border-width: 1px;
        border-color: #e2dacb;
        font-size: 0.875rem;
    }

    .page-product-pellet .pellet-season__levels {
        grid-template-columns: 1fr !important;
        gap: 0.4rem !important;
    }

    .page-product-pellet .pellet-season__levels .pellet-unit {
        padding: 0.45rem 0.65rem !important;
        border-width: 1px;
        border-color: #e2dacb;
        border-radius: 10px;
        background: #fff;
    }

    .page-product-pellet .pellet-season__levels .pellet-unit--active {
        border-color: #2d5a3d;
        background: #f3f8f3;
        box-shadow: 0 0 0 1px #2d5a3d;
    }

    .page-product-pellet .pellet-season__levels .pellet-unit__name {
        font-size: 0.875rem !important;
    }

    .page-product-pellet .pellet-season__levels .pellet-unit__note {
        font-size: 0.75rem;
    }

    .page-product-pellet .pellet-season__levels .pellet-unit__check {
        top: -0.45rem;
        right: -0.35rem;
        width: 1.1rem;
        height: 1.1rem;
        font-size: 0.625rem;
    }

    .page-product-pellet .pellet-season__water {
        font-size: 0.8125rem;
        line-height: 1.3;
    }

    .page-product-pellet .pellet-season__result {
        padding: 0.75rem;
        border-width: 1px;
        border-radius: 10px;
    }

    .page-product-pellet .pellet-season__tonnes {
        font-size: 1.75rem;
    }

    .page-product-pellet .pellet-season__facts {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }

    .page-product-pellet .pellet-season__facts > div {
        display: flex;
        justify-content: space-between;
        gap: 0.5rem;
    }

    .page-product-pellet .pellet-season__result .btn {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        font-size: 0.875rem;
    }

    .page-product-pellet .pellet-season__result .text-xs {
        font-size: 0.6875rem;
    }
}

@media (min-width: 1280px) {
    /* nothing in the narrow calculator may be wider than its card */
    .page-product-pellet .pellet-season__grid > *,
    .page-product-pellet .pellet-season__levels,
    .page-product-pellet .pellet-season__levels .pellet-unit,
    .page-product-pellet .pellet-season__area,
    .page-product-pellet .pellet-season__result {
        min-width: 0;
        max-width: 100%;
    }

    .page-product-pellet .pellet-season__levels {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .page-product-pellet .pellet-season__range {
        min-width: 0;
        width: 100%;
    }

    .page-product-pellet .pellet-season__area-value {
        flex-shrink: 0;
    }

    /* the description next to the calculator: always open on wide screens (the user: "nie zwijaj opisu"),
       no "Przeczytaj więcej" bar; phones and tablets keep it folded */
    .page-product-pellet [x-ref="description"],
    .page-product-pellet [x-ref="description"]:not([style*="none"]) {
        max-height: none !important;
    }

    .page-product-pellet [x-ref="description"] + div {
        display: none !important;
    }

/* season calculator 40 % | description 60 % (the user: "daj 40%") - wide enough for a 2 x 2 insulation grid */
@media (min-width: 1280px) {
    .page-product-pellet #product_addtocart_form > .pellet-season {
        grid-column: 1 / 9;
        padding: 1.1rem 1.25rem !important;
    }

    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        grid-column: 9 / 21;
    }

    .page-product-pellet .pellet-season__head > svg {
        display: block;
    }

    .page-product-pellet .pellet-season__head h2 {
        font-size: 1.25rem;
    }

    .page-product-pellet .pellet-season__levels {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.5rem !important;
    }

    .page-product-pellet .pellet-season__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.5rem 1rem;
    }

    .page-product-pellet .pellet-season__facts > div {
        display: block;
    }

    .page-product-pellet .pellet-season__result .btn {
        font-size: 0.9375rem;
    }
}

@media (min-width: 1280px) {
    /* the fold chevron stays hidden on desktop (only the house icon shows) */
    .page-product-pellet .pellet-season__head > svg.pellet-fold__chev {
        display: none;
    }
}

/* season calculator 30 % | description 70 % (the user: "a 30 %") */
@media (min-width: 1280px) {
    .page-product-pellet #product_addtocart_form > .pellet-season {
        grid-column: 1 / 7;
    }

    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        grid-column: 7 / 21;
    }
}

/* the calculator + description row on its own background band (grid row 10) */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main {
        isolation: isolate;
    }

    .page-product-pellet .product-info-main::after {
        content: "";
        grid-column: 1 / -1;
        grid-row: 10;
        z-index: -1;
        display: block;
        align-self: stretch;
        margin: 1.25rem -1.5rem -1.5rem;
        border-radius: 20px;
        background: #f1ece1;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season,
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        margin-top: 3rem;
    }
}

/* more air in the calculator + description band: space above it, inside it and between the two columns */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main::after {
        margin: 2.25rem -2rem -2.5rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season,
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        margin-top: 4.5rem;
    }

    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        padding-left: 1.75rem;
    }
}

/* the band stays inside the page gutter; equal inner space left and right */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main::after {
        margin-left: -0.75rem;
        margin-right: -0.75rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season {
        margin-left: 1rem;
    }

    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        padding-right: 1.25rem;
    }
}

/* outer space above and below the calculator + description band (the band ends inside its grid row, so it never
   reaches the next element); inside: 2.25 rem top, 2.5 rem bottom */
@media (min-width: 1280px) {
    .page-product-pellet .product-info-main::after {
        margin-top: 3rem;
        margin-bottom: 2.5rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season,
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        margin-top: 5.25rem;
        margin-bottom: 5rem;
    }
}

@media (min-width: 1536px) {
    .page-product-pellet .product-info-main::after {
        margin-top: 4rem;
        margin-bottom: 3.5rem;
    }

    .page-product-pellet #product_addtocart_form > .pellet-season,
    .page-product-pellet #product_addtocart_form > div:has(> .product-description) {
        margin-top: 6.25rem;
        margin-bottom: 6rem;
    }
}

/* "Nie wiesz, który wybrać? Zapytaj doradcę" - opens the HelpDesk drawer */
.pellet-compare__ask {
    display: inline;
    padding: 0;
    color: #bd4d1d;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.pellet-compare__ask:hover {
    text-decoration-thickness: 2px;
}
}

/* 2026-10-19: delivery card under the quantity - a soft rounded card with three calm rows (place and cost, total, method)
   and a reserved height, so loading -> result -> "set your postcode" does not push the page down or up */
.pellet-qty__delivery {
    min-height: 8.5rem;
    align-items: stretch;
    margin-top: 1rem;
}

.pellet-qty__delivery-line,
.pellet-qty__delivery-set {
    box-sizing: border-box;
    width: 100%;
    max-width: 24rem;
    min-height: 8.5rem;
    flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.3rem;
    padding: 0.85rem 1.25rem;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fbf9f3 100%);
    text-align: center;
    line-height: 1.3;
}

.pellet-qty__delivery-line > svg {
    display: none;
}

.pellet-qty__delivery-line > span:first-of-type {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.875rem;
}

.pellet-qty__delivery-line > span:first-of-type::before {
    content: "";
    flex: none;
    width: 1rem;
    height: 1rem;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5h11v9h-11z'/%3E%3Cpath d='M13.5 9.5h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.7'/%3E%3Ccircle cx='17' cy='17.5' r='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5h11v9h-11z'/%3E%3Cpath d='M13.5 9.5h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.7'/%3E%3Ccircle cx='17' cy='17.5' r='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pellet-qty__delivery-total {
    flex-basis: auto;
    color: #1c1917;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.01em;
}

.pellet-qty__delivery-method {
    flex-basis: auto;
    color: #78716c;
    font-size: 0.8125rem;
}

/* pickup / loading / checkout-only lines are single-row: same card, text centred */
.pellet-qty__delivery-line:not(:has(.pellet-qty__delivery-total)) {
    justify-content: center;
}

.pellet-qty__delivery-line--pickup > span:first-of-type::before {
    display: none;
}

.pellet-qty__delivery-bonus {
    margin-top: 0.15rem;
    padding: 0.2rem 0.75rem;
    border-radius: 999px;
    background: #fdf0e3;
    color: #9a4a0c;
    font-size: 0.8125rem;
    line-height: 1.35rem;
}

/* 2026-10-20: "Z dostawą | Osobiście" right under the delivery card (was auto-placed under the cart button), the card
   compact: "Dostawa do 47-400: od 244,73 zł · Dostawa pelletu" in one line, the total under it */
.pellet-qty__delivery {
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    min-height: 0;
}

.pellet-qty__delivery-line,
.pellet-qty__delivery-set {
    min-height: 4.75rem;
    gap: 0.15rem;
    padding: 0.6rem 1rem;
    border-radius: 12px;
    border-color: #e2dacb;
}

.pellet-qty__delivery-line > span:first-of-type {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 0.45rem;
}

.pellet-qty__delivery-line > span:first-of-type .pellet-qty__delivery-method::before {
    content: "· ";
}

.pellet-qty__delivery-total {
    font-size: 1.125rem;
}

.pellet-modes {
    display: flex;
    gap: 0.25rem;
    width: 100%;
    max-width: 20rem;
    padding: 0.25rem;
    border-radius: 999px;
    background: #f3efe4;
}

.pellet-modes > button {
    flex: 1;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    color: #57534e;
    font-size: 0.9rem;
    white-space: nowrap;
}

.pellet-modes > button[aria-pressed="true"] {
    background: #166534;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
    color: #fff;
}

.pellet-qty__delivery-line > span:first-of-type {
    align-items: baseline;
}

.pellet-qty__delivery-line > span:first-of-type::before {
    align-self: center;
}

/* smaller delivery card: one small line + the total, ~3.5rem */
.pellet-qty__delivery-line,
.pellet-qty__delivery-set {
    min-height: 3.5rem;
    gap: 0.1rem;
    padding: 0.45rem 0.9rem;
    line-height: 1.25;
}

.pellet-qty__delivery-line > span:first-of-type {
    gap: 0 0.35rem;
    font-size: 0.8125rem;
}

.pellet-qty__delivery-line > span:first-of-type::before {
    width: 0.875rem;
    height: 0.875rem;
}

.pellet-qty__delivery-line .pellet-qty__delivery-method {
    font-size: 0.75rem;
}

.pellet-qty__delivery-total {
    font-size: 1rem;
}

.pellet-qty .pellet-sizes > *,
.pellet-qty .pellet-units > * {
    min-width: 0;
}

/* 2026-10-20: "65 worków = 1 paleta · 975 kg" under the stepper hidden - the pallet weight tiles say the same */
.pellet-qty .pellet-qty__summary {
    display: none !important;
}

/* 2026-10-20: the "Waga palety" row (975 kg / 1.050 kg tiles) hidden - the default pallet weight stays chosen */
.pellet-qty .pellet-qty__t1,
.pellet-qty .pellet-sizes {
    display: none !important;
}

/* phones: the method on its own line under the delivery price, without the "·" */
@media (max-width: 639.98px) {
    .pellet-qty__delivery-line > span:first-of-type .pellet-qty__delivery-method {
        flex-basis: 100%;
        text-align: center;
    }

    .pellet-qty__delivery-line > span:first-of-type .pellet-qty__delivery-method::before {
        content: none;
    }
}

/* 2026-10-20: the delivery / pickup card is always two rows. Each row is one line that scales with the card width
   (container query units), so the text never wraps or sticks out - from a 360 px phone to the 2-column desktop. */
.pellet-qty__delivery-line {
    width: 100%;
    container-type: inline-size;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

/* delivery: "Dostawa do 03-110: od 49,99 zł · Paczkomat InPost" / "razem od 107,99 zł" */
.pellet-qty__delivery-line > span:first-of-type {
    flex-wrap: nowrap;
    white-space: nowrap;
    font-size: clamp(0.625rem, 4.1cqw, 0.8125rem);
}

/* pickup: "Odbiór osobisty, bez dostawy  od 1 835,00 zł" / "Odbiór: Zbytków  -50 zł za każdą paletę dodatkowo" */
.pellet-qty__delivery-line--pickup {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: baseline;
    gap: 0.15rem 0.5rem;
    min-height: 0;
}

.pellet-qty__delivery-line--pickup::after {
    content: "";
    order: 3;
    flex-basis: 100%;
    height: 0;
}

.pellet-qty__delivery-line--pickup > span:nth-child(1) { order: 1; white-space: nowrap; font-size: clamp(0.625rem, 4.1cqw, 0.8125rem); }
.pellet-qty__delivery-line--pickup > .pellet-qty__delivery-total { order: 2; white-space: nowrap; font-size: clamp(0.75rem, 5cqw, 1rem); }
.pellet-qty__delivery-line--pickup > .pellet-qty__delivery-method { order: 4; white-space: nowrap; font-size: clamp(0.625rem, 4.1cqw, 0.8125rem); }
.pellet-qty__delivery-line--pickup > .pellet-qty__delivery-method::before { content: none !important; }
.pellet-qty__delivery-line--pickup > .pellet-qty__delivery-bonus {
    order: 5;
    margin: 0;
    padding: 0.1rem 0.5rem;
    white-space: nowrap;
    font-size: clamp(0.5625rem, 3.6cqw, 0.6875rem);
    line-height: 1.1rem;
}

/* 2026-10-20: "Z dostawą" <-> "Osobiście" no longer makes the page jump: both cards have the same height, and the
   "Razem: ..." line of the open offer keeps its place (hidden, not removed) while pickup is chosen */
.pellet-qty__delivery-line,
.pellet-qty__delivery-line--pickup {
    min-height: 4.5rem;
    box-sizing: border-box;
}

.pellet-offer__meta > p:first-child[style*="display: none"] {
    display: block !important;
    visibility: hidden;
}

/* 2026-10-20: "Osobiście -50 zł" - the pickup discount shown on the switch itself */
.pellet-modes > button:last-child::after {
    content: "\2212 50 z\0142";
    margin-left: 0.4rem;
    padding: 0.05rem 0.45rem;
    border-radius: 999px;
    background: #fdf0e3;
    color: #9a4a0c;
    font-size: 0.75rem;
    font-weight: 600;
}

/* 2026-10-20: delivery and pickup cards are the same two rows, label left / value right, so switching options
   (delivery <-> pickup, bag <-> pallet) moves nothing */
.pellet-qty__delivery-line:has(.pellet-qty__row) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.35rem;
    min-height: 4.5rem;
    padding: 0.6rem 1rem;
    text-align: left;
}

.pellet-qty__row {
    display: flex !important;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    font-size: 0.875rem;
    white-space: nowrap;
}

.pellet-qty__row::before {
    content: none !important;
    display: none !important;
}

.pellet-qty__row > span:first-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #166534;
}

.pellet-qty__row--total > span:first-child {
    color: #1c1917;
    font-weight: 600;
}

.pellet-qty__row-value {
    flex: none;
    font-weight: 600;
    color: #1c1917;
}

.pellet-qty__row--total .pellet-qty__row-value {
    font-size: 1.125rem;
}

.pellet-qty__row .pellet-qty__delivery-method {
    flex-basis: auto !important;
    margin-left: 0.4rem;
    font-size: 0.75rem;
}

.pellet-qty__row .pellet-qty__delivery-method::before {
    content: "· " !important;
}

/* 2026-10-20 (fix): the rows win over the older first-of-type / pickup flex-wrap + order rules */
.pellet-qty__delivery-line:has(> .pellet-qty__row) {
    flex-flow: column nowrap !important;
    align-items: stretch !important;
    justify-content: center;
}

.pellet-qty__delivery-line:has(> .pellet-qty__row)::after {
    content: none !important;
    display: none !important;
}

.pellet-qty__delivery-line > .pellet-qty__row {
    order: 0 !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    width: 100% !important;
    font-size: 0.875rem !important;
    gap: 0.75rem !important;
}

.pellet-qty__delivery-line > .pellet-qty__row--total {
    font-size: 1rem !important;
}

.pellet-qty__delivery-line > .pellet-qty__row > .pellet-qty__row-value {
    order: 0 !important;
    flex: none;
    margin-left: auto;
    text-align: right;
}

/* 2026-10-21: the "-50 zł" on "Osobiście" only while a pallet is chosen (the discount is per full pallet) */
.pellet-modes[data-unit="bag"] > button:last-child::after {
    display: none;
}
