/* =========================================================================
   style.css — sekcje. Każda z komentarzem  /* === Nazwa === *\/  i na końcu pliku.
   Nazwa bloku = struktura (imgtxt, iconlist, cardslider), nigdy strona / treść / po polsku.
   W CSS sekcji: padding-top/bottom, układ, kolory — kontener, nagłówki i przyciski z theme.css.
   ========================================================================= */

/* === Lista wpisów (index.php) === */
.postlist__inner {
    padding-top: var(--section-y-sm);
}
.postlist__head {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 48px;
}

/* === Komunikat (404) === */
.msgbox__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding-top: var(--section-y-sm);
    text-align: center;
}
.msgbox__code {
    color: var(--c-line);
    font-size: clamp(96px, 18vw, 220px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.04em;
}
.msgbox__txt {
    max-width: 100%;
    width: 560px;
    color: var(--c-txt-muted);
}
.msgbox__search {
    max-width: 100%;
    width: 520px;
    margin-top: 16px;
}
.msgbox__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    margin-top: 8px;
}
.msgbox__nav {
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid var(--c-line);
    max-width: 100%;
    width: 720px;
}
.msgbox__label {
    margin-bottom: 12px;
}
.msgbox__links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px 24px;
}
.msgbox__links a {
    display: inline-block;
    padding: 6px 0;
    text-decoration: underline;
    text-underline-offset: 4px;
}
.msgbox__links a:hover {
    color: var(--c-txt-muted);
}

/* === Wyniki wyszukiwania (search.php) === */
.resultlist__inner {
    padding-top: var(--section-y-sm);
}
.resultlist__head {
    margin-bottom: 40px;
}
.resultlist__title {
    overflow-wrap: anywhere;
}
.resultlist__count {
    margin-top: 12px;
    color: var(--c-txt-muted);
}
.resultlist__search {
    max-width: 100%;
    width: 560px;
    margin-top: 24px;
}
.resultlist__list {
    max-width: 100%;
    width: 860px;
    border-top: 1px solid var(--c-line);
}
.resultlist__empty {
    max-width: 100%;
    width: 560px;
}
.resultlist__tips {
    margin-top: 16px;
    list-style: disc;
    padding-left: 1.2em;
    color: var(--c-txt-muted);
}
.resultlist__btn {
    margin-top: 28px;
}


/* === Karta produktu (template-parts/product-card.php) === */
.pcard {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    height: 100%;
    padding: 10px 10px 14px;
    background: rgba(241, 246, 251, 0);
    transition: background-color .4s var(--ease);
}
.pcard:hover {
    background: var(--c-bg-alt);
}
.pcard__media {
    position: relative;
    isolation: isolate;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.pcard__imglink {
    position: absolute;
    inset: 0;
    display: block;
}
.pcard__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1), opacity .4s ease;
}
.pcard__img--hover {
    opacity: 0;
}
.pcard:hover .pcard__img {
    transform: scale(1.05);
}
.pcard:hover .pcard__img--hover {
    opacity: 1;
}
.pcard.is-quick .pcard__img--hover {
    opacity: 0;
}
.pcard__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 1;
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--c-accent);
    color: var(--c-light);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    pointer-events: none;
}
.pcard__fav {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--c-blue);
    transition: background .2s, transform .22s cubic-bezier(.3, 1.6, .5, 1);
}
.pcard__fav:hover {
    background: var(--c-light);
}
.pcard__fav:active {
    transform: scale(.9);
}
.pcard__fav[aria-pressed="true"] {
    color: var(--c-accent);
}
.pcard__fav[aria-pressed="true"] svg {
    fill: var(--c-accent);
}
.pcard__fav.is-pop {
    transform: scale(1.2);
}
.pcard__quick {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 48px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(110deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .95) 44%, #E8EEF5 56%, #E8EEF5 100%) 0 0 / 250% 100%;
    color: var(--c-txt);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    opacity: 0;
    transform: translateY(10px);
    transition: background-position .6s var(--ease), opacity .25s ease, transform .3s var(--ease);
}
.pcard:hover .pcard__quick,
.pcard__quick:focus-visible {
    opacity: 1;
    transform: none;
}
.pcard__quick:hover {
    background-position: 100% 0;
}
.pcard__sizes {
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 8px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
    background: var(--c-light);
    box-shadow: 0 12px 32px rgba(20, 20, 40, .18);
    animation: sa-up .24s cubic-bezier(.2, .7, .2, 1);
}
.pcard__sizes-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.pcard__sizes-title {
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
}
.pcard__sizes-label {
    display: flex;
    align-items: baseline;
    gap: 10px;
    min-width: 0;
}
.pcard__guide {
    padding: 0;
    border: 0;
    background: none;
    font: 500 12px/1 var(--font-main);
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--t);
}
.pcard__guide:hover {
    color: var(--c-accent);
}
.pcard__sizes-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin: -6px -6px -6px 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--c-txt);
}
.pcard__sizes-close:hover {
    background: var(--c-bg-alt);
}
.pcard__sizes-close svg {
    width: 10px;
    height: 10px;
}
.pcard__size-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.pcard__size {
    flex: 1 1 auto;
    min-width: 54px;
    min-height: 44px;
    padding: 0 10px;
    border: 1.5px solid #D5D4DD;
    border-radius: 999px;
    background: var(--c-light);
    color: var(--c-txt);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition: background .15s, border-color .15s, color .15s, transform .1s;
}
.pcard__size:hover {
    border-color: var(--c-accent);
}
.pcard__size:active {
    transform: scale(.96);
}
.pcard__size.is-done,
.pcard__size.is-busy {
    border-color: var(--c-accent);
    background: var(--c-accent);
    color: var(--c-light);
}
.pcard__size.is-error {
    border-color: var(--c-error);
    color: var(--c-error);
}
.pcard__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 0 4px;
}
.pcard__name {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    background: linear-gradient(100deg, #000 0%, #000 46%, var(--c-accent) 62%, var(--c-accent) 80%) 0 0 / 230% 100%;
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    transition: background-position .7s var(--ease);
}
.pcard:hover .pcard__name {
    background-position: 100% 0;
}
.pcard__pack {
    -webkit-text-fill-color: var(--c-accent);
}
.pcard__meta {
    color: var(--c-txt-muted);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}
.pcard__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px;
}
.pcard__now {
    color: var(--c-txt);
    font-size: 26px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -.01em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.pcard.is-sale .pcard__now {
    color: var(--c-accent);
}
.pcard__cur {
    margin-left: 4px;
    font-size: .72em;
    letter-spacing: 0;
}
.pcard__old {
    color: var(--c-txt-soft);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.pcard__save {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--c-success-bg);
    color: #1F6B43;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    font-variant-numeric: tabular-nums;
}

/* karta w liście (Promocje): miniatura + cena obok, rozmiary pod spodem */
.pcard--row {
    gap: 12px;
    padding: 0;
}
.pcard--row:hover {
    background: none;
}
.pcard__top {
    display: flex;
    align-items: center;
    gap: 16px;
}
.pcard__thumb {
    position: relative;
    flex: none;
    width: 104px;
    height: 124px;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.pcard--row:hover .pcard__img {
    transform: none;
}
.pcard__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}
.pcard__name-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 6px;
}
.pcard--row .pcard__name {
    -webkit-line-clamp: 2;
    background: none;
    color: var(--c-txt);
    -webkit-text-fill-color: currentColor;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.38;
}
.pcard--row .pcard__name:hover {
    color: var(--c-accent);
}
.pcard--row .pcard__fav {
    position: static;
    flex: none;
    width: 36px;
    height: 36px;
    margin: -8px -8px 0 0;
    background: transparent;
}
.pcard--row .pcard__fav:hover {
    background: var(--c-bg-alt);
}
.pcard--row .pcard__fav svg {
    width: 16px;
    height: 14px;
}
.pcard__price-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}
.pcard--row .pcard__price {
    gap: 8px;
}
.pcard--row .pcard__now {
    font-size: 23px;
}
.pcard--row .pcard__old {
    font-size: 15px;
}
.pcard__quick-sm {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(110deg, #F1F6FB 0%, #F1F6FB 44%, #E8EEF5 56%, #E8EEF5 100%) 0 0 / 250% 100%;
    color: var(--c-txt);
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    transition: background-position .6s var(--ease), transform .3s var(--ease);
}
.pcard__quick-sm:hover {
    background-position: 100% 0;
}
.pcard--row .pcard__sizes {
    position: static;
    padding: 14px;
    background: var(--c-bg-alt);
    box-shadow: none;
    animation: sa-fade .2s ease-out;
}

@media (max-width: 999px) {
    .pcard__quick {
        opacity: 1;
        transform: none;
    }
}

/* === Hero (wideo + kafle) === */
.hero__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
    gap: 8px;
    margin-top: clamp(8px, 1vw, 16px);
}
.hero--solo .hero__inner {
    grid-template-columns: minmax(0, 1fr);
}
.hero__main {
    position: relative;
    isolation: isolate;
    grid-row: span 2;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(520px, 48vw, 768px);
    overflow: hidden;
    background: #1A1030;
}
.hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}
.hero__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(15deg, rgba(0, 52, 96, .92) 0%, rgba(0, 82, 140, .7) 45%, rgba(0, 113, 188, .45) 100%);
    pointer-events: none;
}
.hero__play {
    position: absolute;
    top: clamp(18px, 2.2vw, 28px);
    right: clamp(18px, 2.2vw, 28px);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 999px;
    background: rgba(255, 255, 255, .14);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--c-txt);
    transition: background .3s var(--ease), transform .2s var(--ease);
}
.hero__play:hover {
    background: rgba(255, 255, 255, .26);
}
.hero__play-dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--c-light);
}
.hero__icon-play,
.hero__play[aria-pressed="true"] .hero__icon-pause {
    display: none;
}
.hero__play[aria-pressed="true"] .hero__icon-play {
    display: block;
}
.hero__content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    max-width: 820px;
    padding: clamp(28px, 4vw, 64px);
    color: var(--c-light);
}
.hero__rating {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--c-light);
    text-shadow: 0 2px 12px rgba(0, 0, 0, .35);
    transition: transform .3s var(--ease);
}
.hero__rating:hover {
    color: var(--c-light);
    transform: translateY(-2px);
}
.hero__rating-logo {
    display: block;
    width: auto;
    max-width: none;
    height: 20px;
    filter: brightness(0) invert(1) drop-shadow(0 2px 8px rgba(0, 0, 0, .35));
}
.hero__rating-sep {
    width: 1px;
    height: 22px;
    background: rgba(255, 255, 255, .45);
}
.hero__rating-value {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -.01em;
}
.hero__stars {
    display: flex;
    gap: 2px;
    color: #FBBC04;
}
.hero__rating-count {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-decoration: underline;
    text-decoration-color: rgba(255, 255, 255, .5);
    text-underline-offset: 4px;
}
.hero__title {
    color: var(--c-light);
}
.hero__accent {
    background: linear-gradient(100deg, #A9DAFA 0%, #5DB4F3 45%, #E58BDF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.hero__actions {
    margin-top: 6px;
}
.btn--hero {
    min-height: 50px;
    padding: 0 26px;
}
.hero__tile {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: clamp(260px, 24vw, 380px);
    padding: clamp(20px, 2.2vw, 32px);
    overflow: hidden;
    background: #1E1E1E;
    color: var(--c-light);
}
.hero__tile:hover {
    color: var(--c-light);
}
.hero__tile-img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 60%;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}
.hero__tile:hover .hero__tile-img {
    transform: scale(1.04);
}
.hero__tile-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
}
.hero__tile--violet .hero__tile-shade {
    background: linear-gradient(180deg, rgba(148, 36, 140, .4) 0%, rgba(110, 22, 104, .7) 50%, rgba(64, 10, 60, .94) 100%);
}
.hero__tile--blue .hero__tile-shade {
    background: linear-gradient(180deg, rgba(116, 185, 232, .4) 0%, rgba(52, 128, 176, .7) 50%, rgba(14, 62, 96, .94) 100%);
}
.hero__tile-label {
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    opacity: .9;
}
.hero__tile-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 16px;
    margin-top: 10px;
}
.hero__tile-title {
    font-family: var(--font-head);
    font-size: clamp(26px, 2.4vw, 38px);
    font-weight: 600;
    line-height: 1.05;
    text-wrap: balance;
}
.hero__tile-arrow {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--c-light);
    color: var(--c-txt);
    transition: transform .4s var(--ease);
}
.hero__tile:hover .hero__tile-arrow {
    transform: translateX(3px);
}
.hero__tile-arrow svg {
    width: 18px;
}
@media (max-width: 899px) {
    .hero__inner {
        grid-template-columns: minmax(0, 1fr);
    }
    .hero__main {
        grid-row: auto;
    }
}

/* === Pasek korzyści z ikonami === */
.iconbar__inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px 0;
    margin-top: clamp(24px, 2.8vw, 40px);
}
.iconbar__item {
    /* stała szerokość treści (ikona + 180px tekstu) wycentrowana w komórce → ikony w jednej linii przy 2 i 1 kolumnie */
    display: grid;
    grid-template-columns: 34px minmax(0, 180px);
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-width: 0;
    padding: 8px 12px;
}
.iconbar__icon {
    flex: none;
    display: block;
    width: 34px;
    height: 34px;
}
.iconbar__txt {
    min-width: 0;
    font-size: 17px;
    line-height: 1.35;
    text-wrap: balance;
}
@media (max-width: 1099px) {
    .iconbar__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
    .iconbar__inner { grid-template-columns: minmax(0, 1fr); }
}

/* === Kafle kategorii (+ kafel promocji) === */
.tilegrid {
    padding-top: clamp(80px, 8vw, 128px);
}
.tilegrid__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: clamp(10px, 1.2vw, 16px);
}
.tilegrid__tile {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 4 / 5;
    padding: clamp(18px, 1.8vw, 24px);
    overflow: hidden;
    color: var(--c-txt);
    transition: filter .4s var(--ease);
}
.tilegrid__tile:hover {
    color: var(--c-txt);
    filter: brightness(.96) saturate(1.08);
}
.tilegrid__tile--green { background: #DDF1E4; }
.tilegrid__tile--blue  { background: #DCEBFA; }
.tilegrid__tile--pink  { background: #F3E3F2; }
.tilegrid__tile--sand  { background: #FCEFD9; }
.tilegrid__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: clamp(60px, 5vw, 76px);
    height: clamp(60px, 5vw, 76px);
    background: rgba(255, 255, 255, .8);
    transition: transform .6s var(--ease);
}
.tilegrid__icon img {
    display: block;
    width: 52%;
    height: 52%;
}
.tilegrid__tile:hover .tilegrid__icon {
    transform: translateY(-4px) rotate(-6deg);
}
.tilegrid__row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}
.tilegrid__name {
    font-family: var(--font-head);
    font-size: clamp(22px, 1.9vw, 28px);
    font-weight: 600;
    line-height: 1.05;
}
.tilegrid__arrow {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--c-light);
    transition: transform .4s var(--ease);
}
.tilegrid__arrow svg {
    width: 16px;
}
.tilegrid__tile:hover .tilegrid__arrow {
    transform: translateX(3px);
}
.tilegrid__sale {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 220px;
    padding: 22px;
    overflow: hidden;
    background: linear-gradient(155deg, #74B9E8 0%, #0071BC 42%, #94248C 100%);
    color: var(--c-light);
}
.tilegrid__sale:hover {
    color: var(--c-light);
}
.tilegrid__sale-top {
    display: flex;
    flex-direction: column;
}
.tilegrid__sale-label {
    font-family: var(--font-head);
    font-size: clamp(20px, 1.8vw, 28px);
    font-weight: 600;
    line-height: 1;
}
.tilegrid__sale-value {
    font-family: var(--font-head);
    font-size: clamp(64px, 6.4vw, 104px);
    font-weight: 600;
    line-height: .95;
    letter-spacing: -.03em;
}
.tilegrid__sale-txt {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
}
.tilegrid__sale-txt svg {
    flex: none;
    transition: transform .3s var(--ease);
}
.tilegrid__sale:hover .tilegrid__sale-txt svg {
    transform: translateX(3px);
}
@media (max-width: 999px) {
    .tilegrid__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tilegrid__sale { grid-column: span 2; }
}
@media (max-width: 639px) {
    .tilegrid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tilegrid__sale { grid-column: 1 / -1; }
}

/* === Karuzela kart (produkty, opinie) — wychodzi do krawędzi ekranu === */
.cardslider,
.quoteslider {
    --bleed: calc(var(--container-pad) + max(0px, (100vw - var(--container-w)) / 2));
    --cols: 4;
    padding-top: var(--section-y);
}
.cardslider__track {
    position: relative;
    display: flex;
    gap: 20px;
    margin: -12px calc(-1 * var(--bleed)) -48px;
    padding: 12px var(--bleed) 48px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    scroll-padding: 0 var(--bleed);
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
.cardslider__track::-webkit-scrollbar {
    display: none;
}
.cardslider__item {
    flex: 0 0 calc((var(--cw, 100%) - 20px * (var(--cols) - 1)) / var(--cols));
    min-width: 0;
    scroll-snap-align: start;
}
@media (max-width: 1239px) { .cardslider, .quoteslider { --cols: 3; } }
@media (max-width: 999px)  { .cardslider, .quoteslider { --cols: 2; } }
@media (max-width: 639px) {
    .cardslider__item { flex-basis: calc(var(--cw, 100%) * .62); }
}
@media (max-width: 479px) {
    .cardslider__item { flex-basis: calc(var(--cw, 100%) * .8); }
}

/* === Opinie (karuzela cytatów) === */
.quoteslider {
    scroll-margin-top: 90px;
}
.quoteslider__track {
    align-items: stretch;
}
.quoteslider__score {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    height: 100%;
    min-height: 320px;
    padding: 30px;
    overflow: hidden;
    background: linear-gradient(160deg, #74B9E8 0%, #0071BC 45%, #94248C 100%);
    color: var(--c-light);
}
.quoteslider__score::after {
    content: '';
    position: absolute;
    right: -60px;
    bottom: -60px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}
.quoteslider__score-txt {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.quoteslider__score-value {
    font-family: var(--font-head);
    font-size: 96px;
    font-weight: 600;
    line-height: .9;
    letter-spacing: -.03em;
}
.quoteslider__score-stars {
    color: #FFEB3B;
    font-size: 20px;
    letter-spacing: 4px;
}
.quoteslider__score-count {
    font-size: 17px;
    line-height: 1.4;
}
.quoteslider__score-btn {
    position: relative;
    z-index: 1;
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    border-radius: 999px;
    background: var(--c-light);
    color: var(--c-txt);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    transition: background .2s, transform .12s;
}
.quoteslider__score-btn:hover {
    background: #FFEB3B;
    color: var(--c-txt);
}
.quoteslider__card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    min-height: 320px;
    margin: 0;
    padding: 32px;
    border: 1px solid #E7EFF7;
    background: var(--c-light);
    box-shadow: 0 24px 48px -36px rgba(0, 113, 188, .35);
}
.quoteslider__mark {
    height: 30px;
    color: var(--c-accent);
    font-family: var(--font-head);
    font-size: 64px;
    font-weight: 600;
    line-height: .6;
}
.quoteslider__txt {
    flex: 1;
    margin: 0;
    color: var(--c-txt-2);
    font-size: 17px;
    line-height: 1.65;
}
.quoteslider__txt.is-clamped {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.quoteslider__more {
    align-self: flex-start;
    padding: 4px 0;
    border: 0;
    background: none;
    color: var(--c-blue);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.quoteslider__more:hover {
    color: var(--c-accent);
}
.quoteslider__who {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-top: 14px;
    border-top: 1px solid var(--c-line-soft);
}
.quoteslider__initial {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--c-bg-alt);
    color: var(--c-accent);
    font-family: var(--font-head);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
}
.quoteslider__who-txt {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.quoteslider__name {
    font-family: var(--font-head);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
}
.quoteslider__stars {
    color: var(--c-accent);
    font-size: 12px;
    letter-spacing: 2px;
}

/* === Zdjęcie z tekstem + siatka kart === */
.imgcards {
    padding-top: var(--section-y);
}
.imgcards__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
    align-items: stretch;
    gap: 20px;
}
.imgcards__media {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: flex-end;
    min-height: clamp(440px, 44vw, 640px);
    overflow: hidden;
    background: #1E1E1E;
}
.imgcards__img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 25%;
}
.imgcards__shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(0deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .2) 55%, rgba(0, 0, 0, 0) 75%);
}
.imgcards__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    max-width: 540px;
    padding: clamp(28px, 3.5vw, 48px);
    color: var(--c-light);
}
.imgcards__title {
    font-size: clamp(32px, 3.2vw, 48px);
    line-height: 1.05;
}
.imgcards__desc {
    font-size: 18px;
    line-height: 1.6;
    text-wrap: pretty;
}
.imgcards__btn {
    margin-top: 8px;
}
.imgcards__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 16px;
}

/* === Tekst + cechy + dwa zdjęcia (na jasnym tle) === */
.imgtxt {
    padding-top: var(--section-y);
}
.imgtxt__box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
    align-items: center;
    gap: clamp(32px, 4vw, 64px);
    padding: clamp(28px, 4.5vw, 72px);
    background: var(--c-bg-alt);
}
.imgtxt__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    max-width: 560px;
}
.imgtxt__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
}
.imgtxt__label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--c-txt-2);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
}
.imgtxt__desc {
    color: var(--c-txt-2);
    font-size: 18px;
    line-height: 1.6;
    text-wrap: pretty;
}
.imgtxt__features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    width: 100%;
    margin-top: 8px;
}
.imgtxt__feature {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-top: 16px;
    border-top: 1px solid #DCE6F0;
}
.imgtxt__feature-title {
    font-family: var(--font-head);
    font-size: 17px;
    font-weight: 600;
    line-height: 1.2;
}
.imgtxt__feature-txt {
    color: var(--c-txt-muted);
    font-size: 16px;
    line-height: 1.5;
}
.imgtxt__btn {
    margin-top: 10px;
    box-shadow: 0 1px 0 var(--c-line-blue);
}
.imgtxt__media {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}
.imgtxt__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
}

/* === Atuty z ikonami + dwa zdjęcia === */
.icongrid {
    padding-top: var(--section-y);
}
.icongrid__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr));
    align-items: center;
    gap: 48px clamp(32px, 4vw, 64px);
}
.icongrid__title {
    margin-bottom: clamp(32px, 3.5vw, 48px);
    text-wrap: wrap;   /* w prototypie bez balance: „Dlaczego warto nas / wybrać?” */
}
.icongrid__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 36px 32px;
}
.icongrid__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 20px;
    border-top: 1px solid var(--c-line);
}
.icongrid__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    margin-bottom: 18px;
    background: var(--c-bg-alt);
}
.icongrid__icon img {
    display: block;
    width: 24px;
    height: 24px;
}
.icongrid__name {
    font-family: var(--font-head);
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
}
.icongrid__desc {
    margin-top: 8px;
    color: var(--c-txt-2);
    font-size: 16px;
    line-height: 1.6;
    text-wrap: pretty;
}
.icongrid__media {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.icongrid__img {
    display: block;
    width: 100%;
    height: clamp(340px, 38vw, 560px);
    object-fit: cover;
}
.icongrid__img--2 {
    margin-top: clamp(0px, 5vw, 72px);
}

/* === Lista kart + zdjęcie (Promocje) === */
.listimg {
    padding-top: var(--section-y);
}
.listimg__inner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 540px), 1fr));
    align-items: stretch;
    gap: 40px;
}
.listimg__txt {
    display: flex;
    flex-direction: column;
}
.listimg__note {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 28px;
    padding: 20px clamp(20px, 2.5vw, 28px) 20px 20px;
    background: var(--c-bg-alt);
}
.listimg__note-icon {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: var(--grad-text);
    box-shadow: 0 14px 28px -16px rgba(148, 36, 140, .6);
    color: var(--c-light);
}
.listimg__note-txt {
    color: var(--c-txt-2);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-wrap: pretty;
}
.listimg__note-txt b {
    color: var(--c-txt);
    font-weight: 600;
}
.listimg__list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
    gap: 24px 28px;
    margin-top: 28px;
}
.listimg__actions {
    margin-top: 32px;
}
.listimg__media {
    min-height: 420px;
    max-height: 760px;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.listimg__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* === Listing produktów (listing, filters, gridtile, catsheet) === */
.listing__inner {
    padding-top: clamp(18px, 2vw, 28px);
}
.listing__head {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 22px);
}
.listing__title {
    text-wrap: balance;
}
.listing__catbtn {
    display: none;
}
.listing__layout {
    display: grid;
    grid-template-columns: 248px minmax(0, 1fr);
    gap: clamp(28px, 3vw, 48px);
    align-items: start;
    margin-top: clamp(24px, 2.6vw, 36px);
}
.listing__bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}
.listing__filterbtn {
    display: none;
}
.listing__count {
    font: 500 15px/1 var(--font-main);
}
.listing__sort {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 400 16px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.listing__select {
    -webkit-appearance: none;
    appearance: none;
    height: 44px;
    padding: 0 40px 0 16px;
    border: 0;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt);
    cursor: pointer;
}
.listing__sort svg {
    position: absolute;
    right: 16px;
    pointer-events: none;
    color: var(--c-txt);
}
.listing__active {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}
.listing__chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 12px 0 14px;
    border: 0;
    border-radius: 999px;
    background: var(--c-bg-pink);
    font: 500 14px/1 var(--font-main);
    color: var(--c-accent);
    transition: background-color .2s, transform .12s;
}
.listing__chip:hover {
    background: #EBDCEC;
}
.listing__chip:active {
    transform: scale(.95);
}
.listing__clear {
    height: 36px;
    padding: 0 6px;
    border: 0;
    background: none;
    font: 500 14px/1 var(--font-main);
    color: var(--c-txt);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.listing__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: clamp(40px, 5vw, 72px) 24px;
    background: var(--c-bg-soft);
    text-align: center;
}
.listing__empty-title {
    margin: 0;
    font: 600 clamp(24px, 2.4vw, 32px)/1.1 var(--font-head);
}
.listing__empty-txt {
    max-width: 100%;
    width: 380px;
    margin: 0;
    font: 400 17px/1.55 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.listing__empty-btn {
    margin-top: 6px;
}
.listing__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(8px, 1.2vw, 16px);
}
.listing__item {
    min-width: 0;
}
.listing__more {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin-top: clamp(36px, 4vw, 56px);
}
.listing__more-txt {
    font: 400 16px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.listing__progress {
    max-width: 100%;
    width: 200px;
    height: 3px;
    background: #E4EBF3;
    overflow: hidden;
}
.listing__progress-bar {
    display: block;
    width: 0;
    height: 100%;
    background: linear-gradient(90deg, var(--c-blue), var(--c-accent));
    transition: width .5s var(--ease);
}
.listing__more-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 50px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 16px/1 var(--font-main);
    color: var(--c-txt);
    transition: background-color var(--t), transform .15s;
}
.listing__more-btn:hover {
    background: var(--c-bg-hover);
}
.listing__more-btn:active {
    transform: scale(.97);
}

/* filtry (desktop: kolumna; mobile: okno od dołu); grupy poza kategoriami zwijane */
.filters {
    align-self: start;
}
.filters__backdrop,
.filters__head,
.filters__foot {
    display: none;
}
.filters__panel {
    display: flex;
    flex-direction: column;
    padding: 24px 20px 12px;
    background: var(--c-bg-soft);
}
.filters__label {
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-txt);
}
.filters__label-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
}
.filters__unit {
    font: 400 13px/1 var(--font-main);
    color: var(--c-txt-soft);
}
.filters__cats,
.filters__group {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.filters__cats {
    gap: 10px;
    margin-bottom: 16px;
}
.filters__group {
    gap: 0;
    border-top: 1px solid var(--c-line-soft);
}
.filters__toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 56px;
    padding: 0;
    border: 0;
    background: transparent;
    text-align: left;
    color: var(--c-txt);
}
.filters__toggle .filters__label {
    transition: color var(--t) var(--ease);
}
.filters__toggle:hover .filters__label {
    color: var(--c-accent);
}
.filters__plus {
    position: relative;
    flex: none;
    width: 28px;
    height: 28px;
    margin-left: auto;
    border-radius: 50%;
    background: var(--c-bg-alt);
}
.filters__plus::before,
.filters__plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 1.6px;
    margin: -.8px 0 0 -5px;
    background: var(--c-txt);
    transition: transform .4s var(--ease), opacity .4s var(--ease);
}
.filters__plus::after {
    transform: rotate(90deg);
}
.filters__group.is-open .filters__plus::after {
    transform: rotate(180deg);
    opacity: 0;
}
.filters__body {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-bottom: 22px;
}
.filters__body[hidden] {
    display: none;
}
.filters__body .filters__note {
    margin-top: 0;
}

/* suwak ceny: dwa input[type=range] na wspólnym torze, --lo / --hi z JS */
.filters__range {
    --lo: 0%;
    --hi: 100%;
    position: relative;
    height: 28px;
    margin: 0 11px;
}
.filters__range::before,
.filters__range-fill {
    content: "";
    position: absolute;
    top: 50%;
    height: 4px;
    margin-top: -2px;
    border-radius: 2px;
}
.filters__range::before {
    left: -11px;
    right: -11px;
    background: var(--c-line);
}
.filters__range-fill {
    left: var(--lo);
    right: calc(100% - var(--hi));
    background: var(--c-accent);
}
.filters__range-input {
    position: absolute;
    top: 0;
    left: -11px;
    width: calc(100% + 22px);
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    pointer-events: none;
}
.filters__range-input::-webkit-slider-runnable-track {
    height: 28px;
    background: transparent;
}
.filters__range-input::-moz-range-track {
    height: 28px;
    background: transparent;
}
.filters__range-input::-webkit-slider-thumb {
    width: 22px;
    height: 22px;
    margin-top: 3px;
    border: 2px solid var(--c-accent);
    border-radius: 50%;
    background: var(--c-bg);
    box-shadow: 0 2px 6px rgba(20, 20, 30, .15);
    -webkit-appearance: none;
    appearance: none;
    cursor: grab;
    pointer-events: auto;
    transition: transform .15s var(--ease);
}
.filters__range-input::-moz-range-thumb {
    box-sizing: border-box;
    width: 22px;
    height: 22px;
    border: 2px solid var(--c-accent);
    border-radius: 50%;
    background: var(--c-bg);
    box-shadow: 0 2px 6px rgba(20, 20, 30, .15);
    cursor: grab;
    pointer-events: auto;
    transition: transform .15s var(--ease);
}
.filters__range-input:active::-webkit-slider-thumb {
    transform: scale(1.12);
    cursor: grabbing;
}
.filters__range-input:active::-moz-range-thumb {
    transform: scale(1.12);
    cursor: grabbing;
}
.filters__range-input:focus-visible {
    outline: none;
}
.filters__range-input:focus-visible::-webkit-slider-thumb {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
}
.filters__range-input:focus-visible::-moz-range-thumb {
    outline: 2px solid var(--c-accent);
    outline-offset: 2px;
}
.filters__range-vals {
    display: flex;
    justify-content: space-between;
    font: 500 15px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt);
}
.filters__cat-list,
.filters__cat-sub {
    display: flex;
    flex-direction: column;
}
.filters__cat-list {
    margin: 0 -12px;
}
.filters__cat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    min-height: 40px;
    padding: 0 12px;
    border-radius: 12px;
    font: 400 15px/1.2 var(--font-main);
    color: var(--c-txt);
    transition: background-color var(--t) var(--ease), color var(--t) var(--ease), padding var(--t) var(--ease);
}
.filters__cat:hover {
    padding-left: 16px;
    background-color: var(--c-bg-alt);
    color: var(--c-accent);
}
.filters__cat[aria-current="page"] {
    background: var(--c-bg-pink);
    font-weight: 600;
    color: var(--c-accent);
}
.filters__cat--sub {
    padding-left: 28px;
}
.filters__cat--sub:hover {
    padding-left: 32px;
}
.filters__count {
    font: 400 14px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt-soft);
}
.filters__sep {
    display: none;
}
.filters__sizes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.filters__size,
.filters__pill {
    height: 46px;
    border: 1.5px solid var(--c-line);
    border-radius: 999px;
    background: var(--c-bg);
    font: 500 16px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt);
    transition: background-color .2s, border-color .2s, color .2s, transform .12s;
}
.filters__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.filters__pill {
    height: 40px;
    padding: 0 14px;
    font-size: 15px;
}
.filters__size:hover:not(:disabled),
.filters__pill:hover:not(:disabled) {
    border-color: var(--c-accent);
}
.filters__size[aria-pressed="true"],
.filters__pill[aria-pressed="true"] {
    border-color: var(--c-accent);
    background: var(--c-accent);
    color: var(--c-light);
}
.filters__size:active,
.filters__pill:active {
    transform: scale(.95);
}
.filters__size:disabled,
.filters__pill:disabled,
.filters__check:disabled {
    opacity: .38;
    cursor: default;
}
.filters__note {
    margin-top: -6px;
    font: 400 14px/1.45 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.filters__checks {
    display: flex;
    flex-direction: column;
    margin-top: -6px;
}
.filters__check {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 42px;
    margin: 0 -10px;
    padding: 0 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    text-align: left;
    font: 400 17px/1.2 var(--font-main);
    color: var(--c-txt);
    transition: background-color var(--t) var(--ease);
}
.filters__check:hover:not(:disabled) {
    background-color: var(--c-bg-alt);
}
.filters__box {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border: 1.5px solid #C9CDD6;
    background: var(--c-bg);
    color: var(--c-light);
    transition: background-color .2s, border-color .2s;
}
.filters__box svg {
    width: 14px;
    height: 14px;
    opacity: 0;
}
.filters__check[aria-checked="true"] .filters__box {
    border-color: var(--c-accent);
    background: var(--c-accent);
}
.filters__check[aria-checked="true"] .filters__box svg {
    opacity: 1;
}
.filters__check-label {
    flex: 1;
    min-width: 0;
}

/* karta w siatce listingu: nazwa do 2 linii, mniejszy przycisk rozmiaru; na wąskim ekranie etykieta „Rozmiar” */
.pcard__quick-short {
    display: none;
}
.listing__grid .pcard__name {
    -webkit-line-clamp: 2;
    font-size: 15px;
}
.listing__grid .pcard__quick {
    left: 10px;
    right: 10px;
    bottom: 10px;
    height: 46px;
    font-size: 15px;
    white-space: nowrap;
}

/* kafel w siatce listingu */
.listing__item--tile {
    display: flex;
}
.gridtile {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: clamp(20px, 2vw, 28px);
    background: var(--grad-tile);
    color: var(--c-light);
    transition: transform .45s var(--ease);
}
.gridtile:hover {
    color: var(--c-light);
}
.gridtile:active {
    transform: scale(.98);
}
.gridtile__label {
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.gridtile__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.gridtile__title {
    font: 600 clamp(26px, 2.4vw, 36px)/1.05 var(--font-head);
    text-wrap: balance;
}
.gridtile__txt {
    font: 400 17px/1.5 var(--font-main);
    opacity: .92;
}
.gridtile__btn {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--c-bg);
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt);
    white-space: nowrap;
    transition: gap var(--t) var(--ease);
}
.gridtile:hover .gridtile__btn {
    gap: 14px;
}

/* kategorie — arkusz od dołu (mobile) */
.catsheet {
    position: fixed;
    inset: 0;
    z-index: 70;
}
.catsheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 30, 50, .4);
    animation: sa-fade-in .25s ease-out;
}
.catsheet__panel {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    max-height: 86vh;
    border-radius: 28px 28px 0 0;
    background: var(--c-bg);
    box-shadow: 0 -20px 50px -20px rgba(20, 30, 50, .35);
    animation: sa-up .3s cubic-bezier(.2, .7, .2, 1);
}
.catsheet__head {
    flex: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10px 20px 0;
}
.catsheet__handle {
    width: 40px;
    height: 4px;
    background: var(--c-line);
}
.catsheet__bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 14px 0 10px;
}
.catsheet__title {
    margin: 0;
    font: 600 24px/1 var(--font-head);
}
.catsheet__close,
.filters__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: var(--c-bg-alt);
    color: var(--c-txt);
}
.catsheet__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 12px calc(20px + env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior: contain;
}
.catsheet__all {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 56px;
    padding: 0 16px;
    border-radius: 18px;
    background: var(--c-bg-alt);
    font: 600 16px/1.2 var(--font-main);
    color: var(--c-txt);
}
.catsheet__all[aria-current="page"] {
    background: var(--c-bg-pink);
}
.catsheet__all-count {
    font: 500 14px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt-muted);
}
.catsheet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}
.catsheet__cat {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 64px;
    height: 100%;
    padding: 10px 14px;
    border: 1.5px solid transparent;
    border-radius: 16px;
    background: var(--c-bg-soft);
    color: var(--c-txt);
}
.catsheet__cat[aria-current="page"] {
    border-color: var(--c-accent);
    background: var(--c-bg-pink);
    color: var(--c-accent);
}
.catsheet__name {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 6px;
    font: 600 15px/1.2 var(--font-main);
    overflow-wrap: anywhere;
}
.catsheet__name svg {
    flex: none;
    width: 16px;
    height: 16px;
}
.catsheet__count {
    font: 400 13px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt-muted);
}

@media (min-width: 1000px) {
    .catsheet {
        display: none !important;
    }
}
@media (min-width: 1000px) and (max-width: 1239px) {
    .listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 999px) {
    .listing__catbtn {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 100%;
        min-height: 56px;
        margin-top: clamp(20px, 2vw, 28px);
        padding: 0 16px;
        border: 0;
        border-radius: 18px;
        background: var(--c-bg-alt);
        text-align: left;
        transition: transform .15s;
    }
    .listing__catbtn:active {
        transform: scale(.98);
    }
    .listing__catbtn-icon {
        flex: none;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: var(--c-bg);
        color: var(--c-blue);
    }
    .listing__catbtn-txt {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 4px;
    }
    .listing__catbtn-label {
        font: 500 12px/1 var(--font-main);
        color: var(--c-txt-muted);
    }
    .listing__catbtn-cur {
        overflow: hidden;
        font: 600 15px/1.2 var(--font-main);
        color: var(--c-txt);
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .listing__catbtn-change {
        flex: none;
        display: inline-flex;
        align-items: center;
        gap: 6px;
        font: 500 15px/1 var(--font-main);
        color: var(--c-blue);
    }
    .listing__layout {
        grid-template-columns: minmax(0, 1fr);
        margin-top: 16px;
    }
    .listing__filterbtn {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        height: 44px;
        padding: 0 18px;
        border: 0;
        border-radius: 999px;
        background: var(--c-bg-alt);
        font: 500 15px/1 var(--font-main);
        color: var(--c-txt);
        transition: transform .15s;
    }
    .listing__filterbtn:active {
        transform: scale(.96);
    }
    .listing__badge {
        min-width: 20px;
        height: 20px;
        padding: 0 6px;
        background: var(--c-accent);
        font: 600 11px/20px var(--font-main);
        color: var(--c-light);
        text-align: center;
    }
    .listing__count {
        display: none;
    }
    .filters {
        position: fixed;
        inset: 0;
        z-index: 60;
        display: flex;
        align-items: flex-end;
    }
    .filters__backdrop {
        display: block;
        position: absolute;
        inset: 0;
        background: rgba(20, 20, 30, .45);
        animation: sa-fade-in .25s ease-out;
    }
    .filters__panel {
        position: relative;
        width: 100%;
        max-height: 88vh;
        padding: 20px 20px 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        background: var(--c-bg);
        animation: sa-up .3s cubic-bezier(.2, .7, .2, 1);
    }
    .filters__head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
    }
    .filters__title {
        font: 600 24px/1 var(--font-head);
    }
    .filters__cats,
    .filters__sep {
        display: none;
    }
    .filters__foot {
        position: sticky;
        bottom: 0;
        display: flex;
        gap: 10px;
        margin: 0 -20px;
        padding: 14px 20px calc(20px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--c-line-soft);
        background: rgba(255, 255, 255, .96);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }
    .filters__clear,
    .filters__apply {
        height: 52px;
        border: 0;
        border-radius: 999px;
        font: 500 16px/1 var(--font-main);
    }
    .filters__clear {
        flex: none;
        padding: 0 20px;
        background: var(--c-bg-alt);
        color: var(--c-txt);
    }
    .filters__apply {
        flex: 1;
        background: var(--c-accent);
        color: var(--c-light);
    }
}
@media (max-width: 639px) {
    .listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .listing__grid .pcard__quick-full {
        display: none;
    }
    .listing__grid .pcard__quick-short {
        display: inline;
    }
    .gridtile__btn {
        max-width: 100%;
        height: auto;
        min-height: 46px;
        padding: 10px 16px;
        line-height: 1.2;
        white-space: normal;
    }
    .gridtile__btn svg {
        flex: none;
    }
}

/* === Strona produktu (prodmain, gallery, buybox, sizesel, qty, infoacc, sizetable, cardgrid, stickybuy, lightbox) === */
.prodmain__inner {
    padding-top: clamp(18px, 2vw, 28px);
}
.prodmain__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: clamp(28px, 4.4vw, 72px);
    align-items: start;
    margin-top: clamp(18px, 2vw, 28px);
}

/* galeria */
.gallery {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
.gallery__main {
    position: relative;
    isolation: isolate;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.gallery__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transform: scale(1.03);
    pointer-events: none;
    transition: opacity .5s var(--ease), transform .9s var(--ease);
}
.gallery__img.is-active {
    opacity: 1;
    transform: none;
}
.gallery__zoom {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: none;
    cursor: zoom-in;
}
.gallery__expand,
.gallery__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--c-txt);
    transition: background-color .2s, transform .12s;
}
.gallery__expand {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
}
.gallery__expand:hover,
.gallery__arrow:hover {
    background: var(--c-bg);
}
.gallery__expand:active,
.gallery__arrow:active {
    transform: scale(.92);
}
.gallery__badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 2;
    padding: 8px 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .94);
    font: 600 13px/1 var(--font-main);
    color: var(--c-accent);
}
.gallery__arrows {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    display: flex;
    gap: 8px;
}
.gallery__thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.gallery__thumb {
    display: block;
    width: 76px;
    aspect-ratio: 4 / 5;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 16px;
    overflow: hidden;
    background: var(--c-bg-alt);
    transition: border-color var(--t) var(--ease), transform .15s;
}
.gallery__thumb[aria-current="true"] {
    border-color: var(--c-accent);
}
.gallery__thumb:hover {
    border-color: var(--c-line);
}
.gallery__thumb[aria-current="true"]:hover {
    border-color: var(--c-accent);
}
.gallery__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* zakup */
.buybox {
    display: flex;
    flex-direction: column;
    min-width: 0;
}
.buybox__title {
    margin: 12px 0 0;
    font: 600 clamp(32px, 3.2vw, 48px)/1.04 var(--font-head);
    letter-spacing: -.01em;
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.buybox__rating {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    font: 400 14px/1 var(--font-main);
    color: var(--c-txt-muted);
    transition: color .2s;
}
.buybox__rating:hover {
    color: var(--c-accent);
}
.buybox__stars {
    display: flex;
    gap: 1px;
    color: #F5B301;
}
.buybox__stars svg {
    width: 15px;
    height: 15px;
}
.buybox__price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 12px;
    margin-top: 24px;
}
.buybox__now {
    font: 600 clamp(32px, 2.8vw, 40px)/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    letter-spacing: -.015em;
    color: var(--c-txt);
}
.buybox__now.is-sale {
    color: var(--c-accent);
}
.buybox__cur {
    margin-left: 5px;
    font-size: .6em;
}
.buybox__old {
    font: 500 18px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt-soft);
}
.buybox__pack {
    margin: 10px 0 0;
    font: 500 14px/1.45 var(--font-main);
    color: var(--c-txt);
}
.buybox__sep {
    height: 1px;
    margin: 26px 0 24px;
    background: var(--c-line-soft);
}
.buybox__size {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.buybox__size-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.buybox__label {
    font: 400 16px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.buybox__label b {
    font-weight: 600;
    color: var(--c-txt);
}
.buybox__guide {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 36px;
    padding: 0 4px;
    border: 0;
    background: none;
    font: 500 15px/1 var(--font-main);
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color .2s;
}
.buybox__guide:hover {
    color: var(--c-accent);
}
.buybox__guide svg {
    width: 18px;
    height: 10px;
}
.buybox__need {
    margin: 0;
    font: 500 14px/1.3 var(--font-main);
    color: var(--c-accent);
}
.buybox__actions {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}
.buybox__add {
    flex: 1;
    min-width: 0;
    min-height: 58px;
    gap: 10px;
}
.buybox__add:disabled {
    background: #C9CDD6;
    cursor: default;
}
.buybox__add.is-busy {
    opacity: .8;
    pointer-events: none;
}
.buybox__fav {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border: 1.5px solid var(--c-line);
    border-radius: 50%;
    background: var(--c-bg);
    color: var(--c-txt);
    transition: border-color .2s, transform .15s, color .2s;
}
.buybox__fav:hover {
    border-color: var(--c-accent);
    color: var(--c-accent);
}
.buybox__fav[aria-pressed="true"] {
    border-color: var(--c-accent);
    color: var(--c-accent);
}
.buybox__fav[aria-pressed="true"] svg {
    fill: currentColor;
}
.buybox__fav.is-pop {
    transform: scale(1.15);
}
.buybox__info {
    display: flex;
    flex-direction: column;
    gap: 14px;
    margin-top: 16px;
    padding: 18px 20px;
    background: var(--c-bg-soft);
}
.buybox__ship {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.buybox__ship-icon {
    flex: none;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    color: var(--c-blue);
}
.buybox__ship-txt {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.buybox__ship-title {
    font: 600 15px/1.3 var(--font-main);
}
.buybox__ship-sub {
    font: 400 14px/1.45 var(--font-main);
    color: var(--c-txt-muted);
}
.buybox__ship + .buybox__badges {
    padding-top: 14px;
    border-top: 1px solid #E8EEF5;
}
.buybox__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 22px;
}
.buybox__badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 400 14px/1.3 var(--font-main);
}
.buybox__badge-icon {
    flex: none;
    width: 18px;
    height: 18px;
}
.buybox__badge .flagpl {
    width: 16px;
    height: 11px;
}

/* lista rozmiarów */
.sizesel {
    position: relative;
}
.sizesel__btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    height: 58px;
    padding: 0 18px 0 20px;
    border: 1.5px solid var(--c-line);
    border-radius: 16px;
    background: var(--c-bg);
    font: 500 16px/1 var(--font-main);
    color: var(--c-txt-muted);
    transition: border-color .2s;
}
.sizesel__btn:hover,
.sizesel__btn[aria-expanded="true"] {
    border-color: var(--c-accent);
}
.sizesel.is-chosen .sizesel__btn {
    color: var(--c-txt);
}
.sizesel__btn svg {
    transition: transform var(--t) var(--ease);
}
.sizesel__btn[aria-expanded="true"] svg {
    transform: rotate(180deg);
}
.sizesel__list {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 6px;
    background: var(--c-bg);
    box-shadow: 0 24px 50px -18px rgba(20, 30, 50, .28), 0 0 0 1px var(--c-line-soft);
    animation: sa-fade .2s ease-out;
}
.sizesel__opt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 12px;
    font: 500 16px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: background-color .2s, color .2s;
}
.sizesel__opt:hover,
.sizesel__opt:focus-visible {
    background: var(--c-bg-alt);
}
.sizesel__opt[aria-selected="true"] {
    background: var(--c-bg-pink);
    color: var(--c-accent);
}
.sizesel__opt[aria-disabled="true"] {
    color: var(--c-txt-soft);
    cursor: default;
    opacity: .6;
}
.sizesel__out {
    font: 400 13px/1 var(--font-main);
}

/* ilość */
.qty {
    flex: none;
    display: flex;
    align-items: center;
    height: 58px;
    border-radius: 999px;
    background: var(--c-bg-alt);
}
.qty__btn {
    width: 48px;
    height: 58px;
    padding: 0;
    border: 0;
    background: none;
    font: 500 18px/1 var(--font-main);
    color: var(--c-txt);
}
.qty__btn:disabled {
    opacity: .35;
    cursor: default;
}
.qty__val {
    min-width: 20px;
    font: 600 16px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    text-align: center;
}

/* „O produkcie” — akordeon */
.infoacc__inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    gap: clamp(20px, 4vw, 72px);
    align-items: start;
    padding-top: clamp(64px, 7vw, 112px);
}
.infoacc__head {
    position: sticky;
    top: 120px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.infoacc__list {
    min-width: 0;
    border-bottom: 1px solid var(--c-line-soft);
}
.infoacc__item {
    border-top: 1px solid var(--c-line-soft);
}
.infoacc__q {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    font: 600 16px/1.3 var(--font-main);
    list-style: none;
    cursor: pointer;
    transition: color .2s;
}
.infoacc__q::-webkit-details-marker {
    display: none;
}
.infoacc__q:hover {
    color: var(--c-accent);
}
.infoacc__plus {
    position: relative;
    flex: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--c-bg-alt);
}
.infoacc__plus::before,
.infoacc__plus::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 11px;
    height: 1.6px;
    margin: -.8px 0 0 -5.5px;
    background: var(--c-txt);
    transition: transform .4s var(--ease), opacity .4s var(--ease);
}
.infoacc__plus::after {
    transform: rotate(90deg);
}
.infoacc__item.is-open .infoacc__plus::after {
    transform: rotate(180deg);
    opacity: 0;
}
.infoacc__a {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0 0 24px;
}
.infoacc__txt,
.infoacc__desc {
    margin: 0;
    font: 400 17px/1.65 var(--font-main);
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.infoacc__desc > * {
    margin: 0 0 .7em;
}
.infoacc__desc > *:last-child {
    margin-bottom: 0;
}
.infoacc__desc h1,
.infoacc__desc h2,
.infoacc__desc h3,
.infoacc__desc h4 {
    font: 600 18px/1.35 var(--font-main);
    color: var(--c-txt);
}
.infoacc__note {
    margin: 0;
    font: 400 14px/1.5 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.infoacc__ship {
    display: flex;
    flex-direction: column;
}
.infoacc__ship li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #F1F4F8;
    font: 400 16px/1.4 var(--font-main);
    font-variant-numeric: tabular-nums;
}
.infoacc__ship li:first-child {
    border-top: 0;
}

/* tabela rozmiarów (akordeon) */
.sizetable {
    display: flex;
    flex-direction: column;
    border: 1px solid var(--c-line-soft);
    overflow: hidden;
}
.sizetable__row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 16px;
    border-top: 1px solid var(--c-line-soft);
    font: 400 16px/1.4 var(--font-main);
    font-variant-numeric: tabular-nums;
}
.sizetable--3 .sizetable__row {
    grid-template-columns: 72px minmax(0, 1fr) minmax(0, 1fr);
}
.sizetable__row--head {
    border-top: 0;
    background: var(--c-bg-soft);
    font: 600 13px/1.3 var(--font-main);
}
.sizetable__size {
    font-weight: 600;
}

/* siatka kart pod produktem */
.cardgrid__inner {
    padding-top: clamp(72px, 8vw, 128px);
}
.cardgrid__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(8px, 1.2vw, 16px);
}
.cardgrid__item {
    min-width: 0;
}
.cardgrid__grid .pcard__name {
    -webkit-line-clamp: 2;
    font-size: 15px;
}
.cardgrid__grid .pcard__quick {
    left: 10px;
    right: 10px;
    bottom: 10px;
    height: 46px;
    font-size: 15px;
    white-space: nowrap;
}

/* pasek „Dodaj” przyklejony u dołu */
.stickybuy {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 28;
    padding: 10px clamp(12px, 3vw, 24px) calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .94);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: 0 -10px 30px -18px rgba(20, 30, 50, .3);
    animation: sa-up .3s cubic-bezier(.2, .7, .2, 1);
}
.stickybuy__inner {
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    width: 1320px;
    margin: 0 auto;
}
.stickybuy__img {
    flex: none;
    width: 48px;
    height: 56px;
    object-fit: cover;
    background: var(--c-bg-alt);
}
.stickybuy__txt {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.stickybuy__name {
    overflow: hidden;
    font: 600 14px/1.2 var(--font-main);
    text-overflow: ellipsis;
    white-space: nowrap;
}
.stickybuy__price {
    font: 600 15px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
}
.stickybuy__price.is-sale {
    color: var(--c-accent);
}
.stickybuy__btn {
    flex: none;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 50px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--c-accent);
    font: 500 16px/1 var(--font-main);
    color: var(--c-light);
    transition: background-color var(--t), transform .12s;
}
.stickybuy__btn:hover {
    background: var(--c-accent-hover);
}
.stickybuy__btn:active {
    transform: scale(.97);
}
.stickybuy__btn:disabled {
    background: #C9CDD6;
}
html.has-stickybuy .totop {
    bottom: calc(84px + env(safe-area-inset-bottom));
}

/* powiększenie zdjęć */
.lightbox {
    position: fixed;
    inset: 0;
    z-index: 90;
    display: flex;
    flex-direction: column;
    background: rgba(14, 12, 22, .94);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    animation: sa-fade-in .25s ease-out;
}
.lightbox__bar {
    flex: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 14px clamp(14px, 2.4vw, 28px);
    color: rgba(255, 255, 255, .85);
    font: 500 15px/1.3 var(--font-main);
}
.lightbox__count {
    font-variant-numeric: tabular-nums;
}
.lightbox__name {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.lightbox__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    color: var(--c-light);
    transition: background-color .2s;
}
.lightbox__close:hover {
    background: rgba(255, 255, 255, .22);
}
.lightbox__stage {
    position: relative;
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 clamp(12px, 6vw, 96px) clamp(16px, 3vw, 32px);
}
.lightbox__img {
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    box-shadow: 0 30px 80px -30px rgba(0, 0, 0, .6);
}
.lightbox__arrow {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: var(--c-txt);
    transform: translateY(-50%);
}
.lightbox__arrow--prev {
    left: clamp(8px, 1.6vw, 24px);
}
.lightbox__arrow--next {
    right: clamp(8px, 1.6vw, 24px);
}

@media (max-width: 999px) {
    .prodmain__grid,
    .infoacc__inner {
        grid-template-columns: minmax(0, 1fr);
    }
    .gallery {
        position: relative;
        top: auto;
        justify-self: center;
        width: 100%;
        max-width: 560px;
    }
    .infoacc__head {
        position: static;
    }
    .cardgrid__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .cardgrid__grid .cardgrid__item:nth-child(4) {
        display: none;
    }
}
@media (max-width: 639px) {
    .cardgrid__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .cardgrid__grid .cardgrid__item:nth-child(4) {
        display: block;
    }
    .cardgrid__grid .pcard__quick-full {
        display: none;
    }
    .cardgrid__grid .pcard__quick-short {
        display: inline;
    }
    .favgrid__grid .pcard__quick-full {
        display: inline;   /* ulubione: pełne „Wybierz rozmiar” jak w prototypie */
    }
    .favgrid__grid .pcard__quick-short {
        display: none;
    }
    .favgrid__grid .pcard__quick {
        height: auto;
        min-height: 46px;
        padding: 6px 12px;
        white-space: normal;
        line-height: 1.15;
        text-align: center;
    }
    .favgrid__grid .pcard__quick svg {
        flex: none;
    }
    .gallery__thumb {
        width: 64px;
        border-radius: 12px;
    }
    .stickybuy__btn {
        padding: 0 18px;
    }
}
@media (max-width: 479px) {
    .buybox__add {
        padding: 0 14px;
        overflow: hidden;
        white-space: normal;
        line-height: 1.2;
        text-align: center;
    }
    .buybox__add svg {
        display: none;
    }
}

/* === Strony sklepu: koszyk, zamówienie, konto, podziękowanie, ulubione (shoppage, cogrid, costep, thanks, favgrid) === */
/* style WooCommerce wyłączone (functions.php) — formularze, tabele i komunikaty WooCommerce stylowane tutaj */
.shoppage__inner,
.favgrid__inner {
    padding-top: clamp(18px, 2vw, 28px);
}
.shoppage__head {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 22px);
    margin-bottom: clamp(24px, 2.6vw, 36px);
}
.shoppage__title-row,
.favgrid__title-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px 24px;
}
.shoppage__secure {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font: 400 15px/1.3 var(--font-main);
    color: var(--c-txt-muted);
}
.shoppage__secure svg {
    color: var(--c-success);
}

/* komunikaty WooCommerce — boks jak w prototypie (informacja o odbiorze w kasie): jasne tło, ikona w kolorze typu, akcja jako link ze strzałką */
.woocommerce-notices-wrapper:empty {
    display: none;
}
.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-notice {
    --notice-c: var(--c-blue);
    --notice-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 11v5.5M12 7.6v.1'/%3E%3C/svg%3E");
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin: 0 0 16px;
    padding: 16px 20px 16px 52px;
    border: 0;
    outline: none;
    background: var(--c-bg-soft);
    font: 400 16px/1.5 var(--font-main);
    color: var(--c-txt);
    list-style: none;
}
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-notice::before {
    content: "";
    position: absolute;
    top: 17px;
    left: 20px;
    width: 20px;
    height: 20px;
    background: var(--notice-c);
    -webkit-mask: var(--notice-ico) center / contain no-repeat;
    mask: var(--notice-ico) center / contain no-repeat;
}
.woocommerce-message {
    --notice-c: var(--c-success);
    --notice-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='m8 12.5 2.7 2.7L16.2 9.6'/%3E%3C/svg%3E");
    background: var(--c-success-bg);
}
.woocommerce-error {
    --notice-c: var(--c-error);
    --notice-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.3 3.9 2.4 17.6A2 2 0 0 0 4.1 20.6h15.8a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z'/%3E%3Cpath d='M12 9.5v4.5M12 17.2v.1'/%3E%3C/svg%3E");
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    background: #FDF2F2;
}
.woocommerce-error li,
.woocommerce-message li {
    margin: 0;
    list-style: none;
}
.woocommerce-info a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-error a:not(.button) {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.woocommerce-info a:not(.button):hover,
.woocommerce-message a:not(.button):hover,
.woocommerce-error a:not(.button):hover {
    color: var(--c-accent);
}
/* błędy: pozycje listy (linki do pól) w kolorze tekstu; komunikat pod polem i pod kodem rabatowym jak w prototypie (czerwony 12px) */
.woocommerce-error a:not(.button) {
    color: var(--c-txt);
    text-decoration: none;
}
.woocommerce-error a:not(.button):hover {
    color: var(--c-error);
    text-decoration: underline;
}
.checkout-inline-error-message,
.coupon-error-notice {
    display: block;
    margin: 0;
    font: 500 12px/1.3 var(--font-main);
    color: var(--c-error);
}
.cosum__code {
    flex-wrap: wrap;
}
.cosum__code .coupon-error-notice {
    flex-basis: 100%;
    margin-top: 2px;
}
.cosum__code-input.has-error {
    border-color: var(--c-error) !important;
}
/* akcja w komunikacie („Zobacz koszyk”, „Kontynuuj zakupy”) = link ze strzałką */
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button,
.woocommerce-message .button,
.woocommerce-info .button {
    order: 2;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 0;
    margin-left: auto;
    padding: 4px 0;
    border-radius: 0;
    background: none;
    font: 500 15px/1.2 var(--font-main);
    color: var(--c-blue);
    text-decoration: none;
    white-space: nowrap;
    transition: gap .3s var(--ease), color .3s var(--ease);
}
.woocommerce .woocommerce-message .button::after,
.woocommerce .woocommerce-info .button::after,
.woocommerce-message .button::after,
.woocommerce-info .button::after {
    content: "";
    width: 20px;
    height: 10px;
    background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 10' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M0 5h18M14 1l4 4-4 4'/%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 20 10' fill='none' stroke='%23000' stroke-width='1.4'%3E%3Cpath d='M0 5h18M14 1l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.woocommerce .woocommerce-message .button:hover,
.woocommerce .woocommerce-info .button:hover,
.woocommerce-message .button:hover,
.woocommerce-info .button:hover {
    gap: 14px;
    background: none;
    color: var(--c-accent);
}

/* pasek darmowej dostawy z Flexible Shipping (w .woocommerce-info) — jak pasek w mini-koszyku */
.woocommerce-info .fs-free-shipping-notice-and-button-wrapper {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 24px;
    min-width: 0;
}
.woocommerce-info .fs-free-shipping-notice-text-and-progress-bar-wrapper,
.woocommerce-info .fs-free-shipping-notice-contents {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 10px;
    min-width: min(100%, 260px);
}
.woocommerce-info .fs-free-shipping-notice-text {
    font: 500 15px/1.35 var(--font-main);
    color: var(--c-txt-2);
}
.woocommerce-info .fs-free-shipping-notice-progress-bar-wrapper {
    display: flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    font: 400 13px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.woocommerce-info .fs-free-shipping-notice-progress-bar {
    position: relative;
    flex: 1;
    height: 6px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--c-bg) !important;
    overflow: hidden;
}
.woocommerce-info .fs-free-shipping-notice-progress-bar span {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 100% !important;
    border-radius: 0 !important;
    background: linear-gradient(90deg, var(--c-blue-mid), var(--c-blue) 45%, var(--c-accent)) !important;
}
.woocommerce-info .fs-free-shipping-notice-opening-value,
.woocommerce-info .fs-free-shipping-notice-closing-value {
    flex: none;
    white-space: nowrap;
}

/* przyciski WooCommerce = .btn */
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #place_order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 48px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 16px/1 var(--font-main);
    color: var(--c-txt);
    text-align: center;
    cursor: pointer;
    transition: background-color var(--t), color var(--t), transform .12s;
}
.woocommerce .button:hover {
    background: var(--c-bg-hover);
    color: var(--c-txt);
}
.woocommerce .button.alt,
.woocommerce .button.checkout-button,
.woocommerce #place_order,
.woocommerce button.woocommerce-form-login__submit,
.woocommerce button.woocommerce-form-register__submit,
.woocommerce button.woocommerce-Button--alt {
    background: linear-gradient(110deg, var(--c-accent) 0%, var(--c-accent) 50%, var(--c-accent-dark) 100%) 0 0 / 220% 100%;
    color: var(--c-light);
}
.woocommerce .button.alt:hover,
.woocommerce .button.checkout-button:hover,
.woocommerce #place_order:hover,
.woocommerce button.woocommerce-form-login__submit:hover,
.woocommerce button.woocommerce-form-register__submit:hover,
.woocommerce button.woocommerce-Button--alt:hover {
    background-position: 100% 0;
    color: var(--c-light);
}
.woocommerce .button:disabled,
.woocommerce .button.disabled {
    opacity: .5;
    cursor: default;
}

/* pola formularzy WooCommerce */
.woocommerce form .form-row {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
    margin: 0;
}
.woocommerce form .form-row label:not(.checkbox):not(.woocommerce-form__label-for-checkbox) {
    font: 500 14px/1.3 var(--font-main);
    color: var(--c-txt);
}
.woocommerce form .form-row .required {
    color: var(--c-accent);
    text-decoration: none;
}
.woocommerce form .form-row .optional {
    font-weight: 400;
    color: var(--c-txt-soft);
}
.woocommerce form .input-text,
.woocommerce form select,
.woocommerce form textarea,
.woocommerce .select2-container .select2-selection--single {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border: 1.5px solid var(--c-line);
    border-radius: 0;
    background: var(--c-bg);
    font: 400 17px/1 var(--font-main);
    color: var(--c-txt);
    outline: none;
    transition: border-color .2s, box-shadow .2s;
}
.woocommerce form textarea {
    height: auto;
    min-height: 96px;
    padding: 14px 16px;
    line-height: 1.5;
    resize: vertical;
}
.woocommerce form .input-text:focus,
.woocommerce form select:focus,
.woocommerce form textarea:focus {
    border-color: var(--c-blue);
    box-shadow: 0 0 0 3px rgba(0, 113, 188, .12);
}
.woocommerce form .form-row.woocommerce-invalid .input-text,
.woocommerce form .form-row.woocommerce-invalid select {
    border-color: var(--c-error);
}
.woocommerce .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
}
.woocommerce .select2-container .select2-selection__rendered {
    padding: 0;
    line-height: 1.2;
    color: var(--c-txt);
}
.woocommerce .select2-container .select2-selection__arrow {
    top: 13px;
    right: 10px;
}
.woocommerce form .form-row .woocommerce-input-wrapper {
    display: block;
}
.woocommerce .password-input {
    position: relative;
    display: block;
}
.woocommerce .password-input .input-text {
    padding-right: 52px;
}
.woocommerce .show-password-input {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2354595F' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat;
    transform: translateY(-50%);
    cursor: pointer;
}
.woocommerce .show-password-input.display-password {
    background-color: var(--c-bg-alt);
}
.woocommerce form .woocommerce-form__label-for-checkbox,
.woocommerce form label.checkbox {
    display: inline-flex;
    align-items: flex-start;
    gap: 12px;
    font: 400 15px/1.5 var(--font-main);
    color: var(--c-txt-2);
    cursor: pointer;
}
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
    flex: none;
    width: 20px;
    height: 20px;
    margin: 2px 0 0;
    accent-color: var(--c-accent);
}
.screen-reader-text + .woocommerce-input-wrapper,
.woocommerce form .form-row label.screen-reader-text + span {
    margin-top: 0;
}

/* kasa: siatka */
.cogrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
    gap: clamp(28px, 4vw, 56px);
    align-items: start;
}
.cogrid__main {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 3.4vw, 44px);
    min-width: 0;
}
#customer_details,
.woocommerce-billing-fields {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 3.4vw, 44px);
}
.costep {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.costep__head {
    display: flex;
    align-items: center;
    gap: 12px;
}
.costep__num {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--c-dark);
    font: 600 13px/1 var(--font-main);
    color: var(--c-light);
}
.costep__title {
    margin: 0;
    font: 600 clamp(22px, 2vw, 28px)/1.1 var(--font-head);
}
.costep__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
}
.costep__fields .form-row-wide,
.costep__fields #billing_country_field,
.costep__fields #billing_address_1_field,
.costep__fields #billing_address_2_field,
.costep__fields #billing_company_field {
    grid-column: 1 / -1;
}
.costep__note {
    margin: -6px 0 0;
    font: 400 14px/1.45 var(--font-main);
    color: var(--c-txt-muted);
}
.woocommerce-shipping-fields,
.woocommerce-additional-fields,
.woocommerce-account-fields {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
    margin: 0;
    font: 600 18px/1.3 var(--font-main);
}
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
}
.woocommerce-shipping-fields__field-wrapper .form-row-wide,
.woocommerce-additional-fields__field-wrapper .form-row {
    grid-column: 1 / -1;
}
.woocommerce-shipping-fields__field-wrapper .form-row-first,
.woocommerce-shipping-fields__field-wrapper .form-row-last {
    grid-column: auto;
}

/* kasa: płatność + regulamin + „Kupuję i płacę” */
.woocommerce-checkout #payment {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: none !important;
}
.woocommerce-checkout #payment .wc_payment_methods {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}
.woocommerce-checkout #payment .wc_payment_method {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 1.5px solid var(--c-line) !important;
    border-radius: 18px !important;
    background: var(--c-bg) !important;
    transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease) !important;
}
.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
    border-color: var(--c-accent) !important;
    background: #FBF7FB !important;
}
.woocommerce-checkout #payment .wc_payment_method > label {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 40px !important;
    margin: 0 !important;
    font: 600 15px/1.3 var(--font-main) !important;
    color: var(--c-txt) !important;
    cursor: pointer !important;
}
.woocommerce-checkout #payment .wc_payment_method > label img {
    max-height: 28px !important;
    width: auto !important;
}
.woocommerce-checkout #payment .payment_box {
    flex-basis: 100% !important;
    margin: 0 !important;
    padding: 12px 0 0 !important;
    background: none !important;
    font: 400 14px/1.5 var(--font-main) !important;
    color: var(--c-txt-muted) !important;
}
.woocommerce-checkout #payment .payment_box::before {
    display: none !important;
}
.woocommerce-checkout #payment .woocommerce-notice,
.woocommerce-checkout #payment .woocommerce-info {
    margin: 0 !important;
}
.woocommerce-checkout #payment .place-order {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
}
.woocommerce-terms-and-conditions-wrapper {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font: 400 14px/1.5 var(--font-main);
    color: var(--c-txt-2);
}
.woocommerce-terms-and-conditions-wrapper a {
    color: var(--c-txt);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.woocommerce-privacy-policy-text p {
    margin: 0;
}
.woocommerce-checkout #place_order {
    width: 100%;
    min-height: 58px;
    font-weight: 600;
}

/* kasa: podsumowanie */
.cogrid__aside {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    padding: clamp(20px, 2.4vw, 28px);
    background: var(--c-bg-soft);
}
.cogrid__sum-title {
    margin: 0;
    font: 600 22px/1.1 var(--font-head);
}
.cogrid__sum-count {
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: collapse;
    font: 400 15px/1.4 var(--font-main);
}
.woocommerce-checkout-review-order-table thead {
    display: none;
}
.woocommerce-checkout-review-order-table tr {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 6px 0;
    text-align: left;
    font-weight: 400;
}
.woocommerce-checkout-review-order-table td:last-child {
    flex: none;
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.woocommerce-checkout-review-order-table .cart_item {
    padding: 8px 0;
    border-bottom: 1px solid var(--c-line-soft);
}
.woocommerce-checkout-review-order-table .cart_item .product-name {
    font-weight: 500;
}
.woocommerce-checkout-review-order-table .cart_item .product-total {
    font-weight: 600;
}
.woocommerce-checkout-review-order-table .product-quantity {
    font-weight: 400;
    color: var(--c-txt-muted);
}
.woocommerce-checkout-review-order-table .variation {
    display: flex;
    gap: 4px;
    margin: 4px 0 0;
    font-size: 14px;
    color: var(--c-txt-muted);
}
.woocommerce-checkout-review-order-table .variation dd,
.woocommerce-checkout-review-order-table .variation p {
    margin: 0;
}
.woocommerce-checkout-review-order-table .cart-subtotal th,
.woocommerce-checkout-review-order-table .cart-subtotal td {
    padding-top: 14px;
    color: var(--c-txt-muted);
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals {
    flex-direction: column;
    gap: 8px;
    padding: 8px 0;
}
.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
    text-align: left;
}
.woocommerce-checkout-review-order-table .order-total {
    margin-top: 6px;
    padding-top: 12px;
    border-top: 1px solid #E4EBF3;
}
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    font: 600 18px/1.2 var(--font-main);
}
.woocommerce-checkout-review-order-table .order-total td strong {
    font-size: 26px;
    font-weight: 600;
}
.woocommerce-checkout-review-order-table .order-total small {
    display: block;
    font-size: 13px;
    font-weight: 400;
    color: var(--c-txt-muted);
}
/* metody dostawy jako kafle */
#shipping_method {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
#shipping_method li {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 10px 14px;
    border: 1.5px solid var(--c-line);
    border-radius: 14px;
    background: var(--c-bg);
    transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease);
}
#shipping_method li:has(input:checked),
#shipping_method li:only-child {
    border-color: var(--c-accent);
    background: #FBF7FB;
}
#shipping_method li label {
    flex: 1;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font: 500 14px/1.3 var(--font-main);
    cursor: pointer;
}
#shipping_method li .amount {
    font-weight: 600;
    white-space: nowrap;
}
.woocommerce-checkout-review-order-table tr.apaczka-parcel-machine {
    flex-direction: column;
    gap: 8px;
}
.woocommerce-checkout-review-order-table tr.apaczka-parcel-machine td {
    text-align: left;
}
.cogrid__trust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px 14px;
    margin: 0;
    padding: 0;
    font: 400 13px/1.3 var(--font-main);
    color: var(--c-txt-muted);
    list-style: none;
}
.woocommerce-form-coupon-toggle .woocommerce-info {
    margin-bottom: 12px;
}
.checkout_coupon {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    max-width: 100%;
    width: 520px;
    margin: 0 0 24px;
}
.checkout_coupon > p:not(.form-row) {
    flex-basis: 100%;
    margin: 0;
    font-size: 14px;
    color: var(--c-txt-muted);
}
.checkout_coupon .form-row-first {
    flex: 1;
}
.checkout_coupon .input-text {
    border-radius: 999px !important;
}

/* kasa 1:1 z prototypem — krok 2 „Dostawa” (coship, coaddr, copoint), podsumowanie (cosum, coplace) */
.shoppage--checkout .shoppage__head {
    gap: clamp(14px, 1.6vw, 22px);
}
.shoppage--checkout .shoppage__title {
    font-size: clamp(min(36px, 9.2vw), 4vw, 56px);
    line-height: 1;
    letter-spacing: -.01em;
}
.shoppage__secure {
    font-size: 16px;
}
.shoppage__secure svg {
    color: var(--c-blue);
}
.costep .required,
.costep .optional {
    display: none;
}
.costep__fields--ship {
    margin-top: 8px;
}
.coaddr {
    display: contents;
}
.coaddr[hidden] {
    display: none;
}
.costep__fields #billing_address_1_field,
.costep__fields #sa_full_name_field {
    grid-column: 1 / -1;
}
.costep__fields #billing_postcode_field,
.costep__fields #billing_city_field {
    grid-column: auto;
}
.costep__fields #billing_state_field {
    display: none;
}
.coship__list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.coship__item {
    position: relative;
}
.coship__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.coship__card,
.woocommerce-checkout #payment .wc_payment_method {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 64px;
    padding: 12px 16px;
    border: 1.5px solid var(--c-line);
    border-radius: 18px;
    background: var(--c-bg);
    cursor: pointer;
    transition: border-color var(--t) var(--ease), background-color var(--t) var(--ease);
}
.coship__card:hover {
    border-color: #C9C6D1;
}
.coship__input:checked + .coship__card,
.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
    border-color: var(--c-accent) !important;
    background: #FBF7FB !important;
}
.coship__input:focus-visible + .coship__card {
    outline: 2px solid var(--c-blue);
    outline-offset: 2px;
}
.coship__dot {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1.5px solid #C9C6D1;
    border-radius: 50%;
    transition: border-color var(--t);
}
.coship__dot::after {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--c-accent);
    transform: scale(0);
    transition: transform .25s var(--ease);
}
.coship__input:checked + .coship__card .coship__dot {
    border-color: var(--c-accent);
}
.coship__input:checked + .coship__card .coship__dot::after {
    transform: scale(1);
}
.coship__txt {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.coship__name {
    font: 600 15px/1.2 var(--font-main);
    color: var(--c-txt);
}
.coship__sub {
    font: 400 14px/1.3 var(--font-main);
    color: var(--c-txt-muted);
}
.coship__price {
    flex: none;
    font: 600 15px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-txt);
}
.coship__none {
    margin: 0;
    font: 400 15px/1.5 var(--font-main);
    color: var(--c-txt-muted);
}
.copoint:empty {
    display: none;
}
.copoint__field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.copoint__label {
    font: 500 14px/1.3 var(--font-main);
    color: var(--c-txt);
}
.copoint__table,
.copoint__table tbody,
.copoint__table tr,
.copoint__table td {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
.copoint__table th {
    display: none;
}
.copoint #apaczka_pl_geowidget_classic {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1.5px solid var(--c-line) !important;
    border-radius: 0 !important;
    background: var(--c-bg) !important;
    box-shadow: none !important;
    font: 400 17px/1 var(--font-main) !important;
    color: var(--c-txt-soft) !important;
    text-align: left !important;
    cursor: pointer;
    transition: border-color .2s;
}
.copoint #apaczka_pl_geowidget_classic:hover,
.copoint #apaczka_pl_geowidget_classic:focus-visible {
    border-color: var(--c-blue) !important;
    color: var(--c-txt) !important;
}
.woocommerce-checkout #customer_details > wc-order-attribution-inputs,
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(input, select, textarea)),
.woocommerce-checkout .woocommerce-additional-fields:not(:has(input, select, textarea)) {
    display: none;
}
.copoint #selected-parcel-machine {
    margin-top: 10px;
    padding: 12px 16px;
    background: var(--c-bg-soft);
    font: 400 15px/1.5 var(--font-main);
    color: var(--c-txt);
}
.copoint #selected-parcel-machine .font-height-600 {
    font-weight: 600;
}
.copoint #selected-parcel-machine .italic {
    display: block;
    font-style: normal;
}
.copoint__pickup {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 16px;
    background: var(--c-bg-soft);
    font: 400 16px/1.5 var(--font-main);
    color: var(--c-txt);
}
.copoint__pickup svg {
    flex: none;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    color: var(--c-blue);
}
.woocommerce-checkout #payment .wc_payment_method {
    flex-wrap: wrap !important;
    gap: 14px !important;
    margin: 0 !important;
    padding: 12px 16px !important;
    border-radius: 18px !important;
}

/* podsumowanie */
.cogrid__sum-title {
    margin: 0;
}
.cosum__head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 0;
    border: 0;
    background: none;
    font: 600 22px/1 var(--font-head);
    color: var(--c-txt);
    text-align: left;
    cursor: pointer;
}
.cosum__head:disabled {
    cursor: default;
}
.cosum__head-right {
    display: none;
    align-items: center;
    gap: 10px;
    font: 600 17px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
}
.cosum__head-right svg {
    transition: transform .3s var(--ease);
}
.cogrid__aside.is-open .cosum__head-right svg {
    transform: rotate(180deg);
}
.cosum {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.cosum__details {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.cosum__items {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}
.cosum__item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 0;
    border-bottom: 1px solid #E8EEF5;
}
.cosum__thumb {
    position: relative;
    flex: none;
}
.cosum__img {
    display: block;
    width: 56px;
    height: 68px;
    object-fit: cover;
    background: var(--c-bg);
}
.cosum__qty {
    position: absolute;
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    background: var(--c-dark);
    font: 600 11px/20px var(--font-main);
    color: var(--c-light);
    text-align: center;
}
.cosum__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}
.cosum__name {
    overflow: hidden;
    font: 600 14px/1.3 var(--font-main);
    white-space: nowrap;
    text-overflow: ellipsis;
}
.cosum__meta {
    font: 400 14px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.cosum__price {
    flex: none;
    font: 600 14px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
}
.cosum__code {
    display: flex;
    gap: 8px;
}
.cosum__code-input {
    flex: 1;
    min-width: 0;
    height: 48px !important;
    padding: 0 16px !important;
    border: 1.5px solid var(--c-line) !important;
    border-radius: 999px !important;
    background: var(--c-bg);
    font: 400 17px/1 var(--font-main) !important;
}
.cosum__code-input:focus {
    border-color: var(--c-blue) !important;
    outline: none;
}
.cosum__code-btn {
    flex: none;
    height: 48px;
    padding: 0 18px;
    border: 0;
    border-radius: 999px;
    background: var(--c-dark);
    font: 500 15px/1 var(--font-main);
    color: var(--c-light);
    cursor: pointer;
    transition: background-color var(--t);
}
.cosum__code-btn:hover {
    background: var(--c-accent);
}
.cosum__code-msg {
    margin: -8px 0 0;
    font: 500 14px/1.4 var(--font-main);
    color: var(--c-success);
}
.cosum__code-msg.is-error {
    color: var(--c-error);
}
.cosum__rows {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0 0 18px;
    border-bottom: 1px solid #E1E8F0;
    font: 400 17px/1.3 var(--font-main);
    color: var(--c-txt);
}
.cosum__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.cosum__row dt,
.cosum__row dd {
    margin: 0;
}
.cosum__row dd {
    flex: none;
    font-variant-numeric: tabular-nums;
}
.cosum__row--disc {
    color: var(--c-accent);
}
.cosum__remove {
    margin-left: 6px;
    font-size: 13px;
    color: var(--c-txt-muted);
    text-decoration: underline;
}
.cosum__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
    font: 600 16px/1 var(--font-main);
}
.cosum__total strong {
    font: 600 30px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    letter-spacing: -.01em;
}
.coplace {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.coplace .woocommerce-terms-and-conditions-wrapper {
    gap: 0;
}
.coterms label {
    font: 400 14px/1.5 var(--font-main) !important;
    color: var(--c-txt-2) !important;
}
.coterms input[type="checkbox"],
.woocommerce-checkout .woocommerce-billing-fields input[type="checkbox"] {
    width: 22px;
    height: 22px;
    margin: -1px 0 0;
    border: 1.5px solid #C9C6D1;
    border-radius: 0;
    background: var(--c-bg) no-repeat center / 11px;
    appearance: none;
    cursor: pointer;
}
.coterms input[type="checkbox"]:checked,
.woocommerce-checkout .woocommerce-billing-fields input[type="checkbox"]:checked {
    border-color: var(--c-accent);
    background-color: var(--c-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 9' fill='none'%3E%3Cpath d='M1 4.5 4 7.5 10 1' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.coterms.woocommerce-invalid input[type="checkbox"] {
    border-color: var(--c-error);
}
.coterms a {
    color: var(--c-txt-2) !important;
}
.woocommerce-checkout .coplace #place_order {
    width: 100%;
    min-height: 58px;
    font: 600 16px/1 var(--font-main);
}
@media (max-width: 999px) {
    .cosum__head-right {
        display: inline-flex;
    }
    .cogrid__aside:not(.is-open) .js-cosum-details {
        display: none;
    }
}
@media (max-width: 639px) {
    .costep__fields #billing_email_field,
    .costep__fields #billing_phone_field {
        grid-column: 1 / -1;
    }
}

/* koszyk (strona) */
.woocommerce-cart-form__contents {
    width: 100%;
    border-collapse: collapse;
    font: 400 16px/1.4 var(--font-main);
}
.woocommerce-cart-form__contents th {
    padding: 0 10px 12px;
    border-bottom: 1px solid var(--c-line-soft);
    font: 600 13px/1.3 var(--font-main);
    text-align: left;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.woocommerce-cart-form__contents td {
    padding: 16px 10px;
    border-bottom: 1px solid var(--c-line-soft);
    vertical-align: middle;
}
.woocommerce-cart-form__contents .product-thumbnail img {
    width: 72px;
    height: 86px;
    object-fit: cover;
    background: var(--c-bg-alt);
}
.woocommerce-cart-form__contents .product-name a {
    font-weight: 600;
    color: var(--c-txt);
}
.woocommerce-cart-form__contents .product-name a:hover {
    color: var(--c-accent);
}
.woocommerce-cart-form__contents .product-subtotal {
    font-weight: 600;
    color: var(--c-accent);
    white-space: nowrap;
}
.woocommerce-cart-form__contents .remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--c-bg-alt);
    font-size: 20px;
    line-height: 1;
    color: var(--c-txt);
}
.woocommerce-cart-form__contents .remove:hover {
    background: var(--c-bg-pink);
    color: var(--c-accent);
}
.woocommerce-cart-form__contents .quantity .qty {
    width: 76px;
    height: 44px;
    padding: 0 8px;
    border: 1.5px solid var(--c-line);
    border-radius: 999px;
    font: 500 16px/1 var(--font-main);
    text-align: center;
}
.woocommerce-cart-form__contents .actions {
    border-bottom: 0;
}
.woocommerce-cart-form__contents .actions .coupon {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-right: 10px;
}
.woocommerce-cart-form__contents .actions .coupon .input-text {
    width: 220px;
    height: 48px;
    padding: 0 16px;
    border: 1.5px solid var(--c-line);
    border-radius: 999px;
    font: 400 16px/1 var(--font-main);
}
.woocommerce .cart-collaterals {
    display: flex;
    justify-content: flex-end;
    margin-top: 32px;
}
.woocommerce .cart_totals {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 100%;
    width: 440px;
    padding: clamp(20px, 2.4vw, 28px);
    background: var(--c-bg-soft);
}
.woocommerce .cart_totals h2 {
    margin: 0;
    font: 600 22px/1.1 var(--font-head);
}
.woocommerce .cart_totals table {
    width: 100%;
    border-collapse: collapse;
}
.woocommerce .cart_totals th,
.woocommerce .cart_totals td {
    padding: 8px 0;
    border-bottom: 1px solid #E4EBF3;
    font: 400 15px/1.4 var(--font-main);
    text-align: left;
    vertical-align: top;
}
.woocommerce .cart_totals td {
    text-align: right;
}
.woocommerce .cart_totals .order-total th,
.woocommerce .cart_totals .order-total td {
    border-bottom: 0;
    font-size: 18px;
    font-weight: 600;
}
.woocommerce .cart_totals #shipping_method li label {
    font-size: 13px;
}
.woocommerce .cart_totals .woocommerce-shipping-totals th,
.woocommerce .cart_totals .woocommerce-shipping-totals td {
    display: block;
    width: 100%;
    text-align: left;
}
.woocommerce .cart_totals .woocommerce-shipping-totals th {
    border-bottom: 0;
}
.woocommerce .cart_totals .woocommerce-shipping-destination,
.woocommerce .cart_totals .woocommerce-shipping-calculator {
    margin: 8px 0 0;
    font-size: 13px;
    color: var(--c-txt-muted);
}
.woocommerce .wc-proceed-to-checkout .checkout-button {
    width: 100%;
    min-height: 54px;
}
.cart-empty.woocommerce-info {
    margin-bottom: 20px;
}
.return-to-shop .button {
    background: var(--c-accent);
    color: var(--c-light);
}

/* koszyk — układ jak kasa: lista (cartpage) + podsumowanie (cosum), pusty koszyk (cartempty) */
.cartpage {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 420px);
    gap: clamp(28px, 4vw, 64px);
    align-items: start;
}
.cartpage__main {
    display: flex;
    flex-direction: column;
    gap: 20px;
    min-width: 0;
}
.cartpage .cartpage__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    border-top: 1px solid var(--c-line-soft);
    list-style: none;
}
.cartpage__item {
    display: flex;
    align-items: flex-start;
    gap: clamp(14px, 2vw, 24px);
    padding: 20px 0;
    border-bottom: 1px solid var(--c-line-soft);
}
.cartpage__thumb {
    flex: none;
    display: block;
    width: clamp(72px, 9vw, 104px);
    aspect-ratio: 56 / 68;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.cartpage__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.cartpage__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.cartpage__name {
    font: 600 clamp(16px, 1.3vw, 18px)/1.3 var(--font-main);
    color: var(--c-txt);
    transition: color var(--t);
}
a.cartpage__name:hover {
    color: var(--c-accent);
}
.cartpage__meta {
    font: 400 15px/1.3 var(--font-main);
    color: var(--c-txt-muted);
}
.cartpage__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 20px;
    margin-top: 8px;
}
.cartpage__qty {
    display: inline-flex;
    align-items: center;
    border: 1.5px solid var(--c-line);
    border-radius: 999px;
}
.cartpage__qty-btn {
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    font: 500 18px/1 var(--font-main);
    color: var(--c-txt);
    cursor: pointer;
    transition: background-color .25s;
}
.cartpage__qty-btn:hover:not(:disabled) {
    background: var(--c-bg-alt);
}
.cartpage__qty-btn:disabled {
    opacity: .35;
    cursor: default;
}
.cartpage .cartpage__qty-val {
    width: 36px;
    height: 40px;
    padding: 0;
    border: 0;
    background: none;
    font: 600 15px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    text-align: center;
    -moz-appearance: textfield;
    appearance: textfield;
}
.cartpage .cartpage__qty-val::-webkit-outer-spin-button,
.cartpage .cartpage__qty-val::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}
.cartpage .cartpage__remove {
    display: inline;
    width: auto;
    height: auto;
    padding: 4px 0;
    border-radius: 0;
    background: none;
    font: 400 14px/1 var(--font-main);
    color: var(--c-txt-muted);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.cartpage .cartpage__remove:hover {
    background: none;
    color: var(--c-error);
}
.cartpage__price {
    flex: none;
    font: 600 17px/1.3 var(--font-main);
    font-variant-numeric: tabular-nums;
    color: var(--c-accent);
    white-space: nowrap;
}
.cartpage__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.cartpage__back svg {
    transform: scaleX(-1);
}
.woocommerce .cartpage button.cartpage__update {
    display: none;
}
.woocommerce .cartpage .cartpage__aside {
    position: sticky;
    top: 96px;
    gap: 18px;
    width: auto;
}
.cartpage__aside .cosum__head {
    display: block;
    cursor: default;
}
.cartpage__ship {
    margin: 0;
}
.cosum__row--muted dd {
    font-size: 15px;
    color: var(--c-txt-muted);
}
.woocommerce .cartpage .cartpage__go {
    margin: 0;
    padding: 0;
}
.woocommerce .cartpage .cartpage__checkout {
    display: flex;
    width: 100%;
    min-height: 58px;
    font: 600 16px/1 var(--font-main);
}
.cartempty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: clamp(48px, 6vw, 96px) 24px;
    background: var(--c-bg-soft);
    text-align: center;
}
.cartempty__title {
    margin: 0;
    font: 600 clamp(26px, 2.6vw, 36px)/1.1 var(--font-head);
}
.cartempty__txt {
    max-width: 100%;
    width: 380px;
    margin: 0;
    font: 400 17px/1.55 var(--font-main);
    color: var(--c-txt-muted);
}
.cartempty .btn {
    margin-top: 6px;
}
@media (max-width: 999px) {
    .cartpage {
        grid-template-columns: minmax(0, 1fr);
    }
    .woocommerce .cartpage .cartpage__aside {
        position: static;
        width: 100%;
    }
}
@media (max-width: 639px) {
    .cartpage__price {
        font-size: 16px;
    }
    .cartpage__actions {
        justify-content: center;
    }
}

/* moje konto */
.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: clamp(24px, 3vw, 48px);
    align-items: start;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-account .woocommerce > #customer_login,
.woocommerce-account .woocommerce > .woocommerce-form-login,
.woocommerce-account .woocommerce > .woocommerce-ResetPassword {
    grid-column: 1 / -1;
}
.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: column;
    margin: 0 -12px;
    padding: 0;
    list-style: none;
}
.woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 0 12px;
    border-radius: 12px;
    font: 400 16px/1.2 var(--font-main);
    color: var(--c-txt);
    transition: background-color var(--t), color var(--t);
}
.woocommerce-MyAccount-navigation a:hover {
    background: var(--c-bg-alt);
    color: var(--c-accent);
}
.woocommerce-MyAccount-navigation .is-active a {
    background: var(--c-bg-pink);
    font-weight: 600;
    color: var(--c-accent);
}
.woocommerce-MyAccount-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
    font: 400 16px/1.6 var(--font-main);
}
.woocommerce-MyAccount-content p {
    margin: 0;
}
.woocommerce-MyAccount-content a:not(.button) {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.woocommerce-account .shop_table {
    width: 100%;
    border-collapse: collapse;
    font: 400 15px/1.4 var(--font-main);
}
.woocommerce-account .shop_table th,
.woocommerce-account .shop_table td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--c-line-soft);
    text-align: left;
}
.woocommerce-account .shop_table thead th {
    font: 600 13px/1.3 var(--font-main);
    text-transform: uppercase;
    letter-spacing: .06em;
}
#customer_login {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(24px, 3vw, 48px);
}
#customer_login h2,
.woocommerce-account .shoppage h2,
.woocommerce-account .shoppage h3 {
    margin: 0 0 12px;
    font: 600 clamp(22px, 2vw, 28px)/1.1 var(--font-head);
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-ResetPassword,
.woocommerce-EditAccountForm {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: clamp(20px, 2.4vw, 28px);
    background: var(--c-bg-soft);
}
.woocommerce-form-login .form-row,
.woocommerce-form-register .form-row {
    margin: 0;
}
.woocommerce-address-fields__field-wrapper,
.woocommerce-EditAccountForm {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 14px;
    padding: clamp(20px, 2.4vw, 28px);
    background: var(--c-bg-soft);
}
.woocommerce-address-fields__field-wrapper .form-row-wide,
.woocommerce-address-fields__field-wrapper #billing_country_field,
.woocommerce-address-fields__field-wrapper #shipping_country_field,
.woocommerce-address-fields__field-wrapper [id$="_address_1_field"],
.woocommerce-address-fields__field-wrapper [id$="_address_2_field"],
.woocommerce-EditAccountForm .form-row-wide,
.woocommerce-EditAccountForm fieldset,
.woocommerce-EditAccountForm > p:not(.form-row),
.woocommerce-EditAccountForm .clear {
    grid-column: 1 / -1;
}
.woocommerce-EditAccountForm fieldset {
    display: grid;
    gap: 16px;
    margin: 8px 0 0;
    padding: 20px 0 0;
    border: 0;
    border-top: 1px solid var(--c-line-soft);
}
.woocommerce-EditAccountForm legend {
    padding: 0;
    font: 600 18px/1.3 var(--font-main);
}
.woocommerce-EditAccountForm .clear {
    display: none;
}
.woocommerce-MyAccount-content button.button[name^="save_"] {
    justify-self: start;
    margin-top: 16px;
    background: linear-gradient(110deg, var(--c-accent) 0%, var(--c-accent) 50%, var(--c-accent-dark) 100%) 0 0 / 220% 100%;
    color: var(--c-light);
}
.woocommerce-MyAccount-content button.button[name^="save_"]:hover {
    background-position: 100% 0;
    color: var(--c-light);
}
.woocommerce-Address-title {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px 16px;
}
.woocommerce-Address-title a {
    font: 500 15px/1 var(--font-main);
}
.woocommerce-LostPassword a {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.woocommerce-Address address {
    font-style: normal;
    line-height: 1.6;
}

/* podziękowanie */
.thanks {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: clamp(10px, 2vw, 28px);
}
.thanks__box {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    max-width: 100%;
    width: 760px;
    padding: clamp(36px, 5vw, 64px) clamp(20px, 4vw, 56px);
    background: var(--c-bg-soft);
    text-align: center;
}
.thanks__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(135deg, #2F8FD3 0%, #0071BC 40%, #94248C 100%);
    box-shadow: 0 18px 36px -18px rgba(148, 36, 140, .6);
    color: var(--c-light);
    animation: sa-up .5s cubic-bezier(.2, .7, .2, 1);
}
.thanks__icon svg {
    width: 32px;
    height: 32px;
    stroke-width: 2.4;
}
.thanks__no {
    margin: 0;
}
.thanks__title {
    margin: 0;
    font: 600 clamp(34px, 4vw, 54px)/1.02 var(--font-head);
    text-wrap: balance;
}
.thanks__txt {
    max-width: 100%;
    width: 440px;
    margin: 0;
    font: 400 17px/1.55 var(--font-main);
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.thanks__txt b {
    font-weight: 600;
}
.thanks__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    max-width: 100%;
    width: 520px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}
.thanks__step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font: 400 13px/1.3 var(--font-main);
    color: var(--c-txt-soft);
}
.thanks__bar {
    width: 100%;
    height: 4px;
    background: #E4EBF3;
}
.thanks__step.is-done {
    font-weight: 600;
    color: var(--c-txt);
}
.thanks__step.is-done .thanks__bar {
    background: linear-gradient(90deg, var(--c-blue), var(--c-accent));
}
.thanks__order {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 100%;
    width: 520px;
    margin-top: 18px;
    padding: 16px 18px;
    background: var(--c-bg);
    text-align: left;
}
.thanks__items {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 4px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--c-line-soft);
    list-style: none;
}
.thanks__item {
    display: flex;
    align-items: center;
    gap: 12px;
}
.thanks__img {
    flex: none;
    width: 44px;
    height: 52px;
    object-fit: cover;
    background: var(--c-bg-alt);
}
.thanks__name {
    flex: 1;
    min-width: 0;
    font: 500 15px/1.3 var(--font-main);
}
.thanks__meta {
    font-weight: 400;
    color: var(--c-txt-muted);
}
.thanks__price {
    font: 600 14px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.thanks__row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    font: 400 16px/1.3 var(--font-main);
    color: var(--c-txt-muted);
}
.thanks__row--total {
    font-weight: 600;
    color: var(--c-txt);
}
.thanks__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 14px;
}
.thanks__help {
    margin: 6px 0 0;
    font: 400 14px/1.5 var(--font-main);
    color: var(--c-txt-muted);
}
.thanks__help a {
    color: inherit;
}
.thanks__help a:hover {
    color: var(--c-accent);
}

/* ulubione */
.favgrid__head {
    display: flex;
    flex-direction: column;
    gap: clamp(14px, 1.6vw, 22px);
    margin-bottom: clamp(24px, 2.6vw, 36px);
}
.favgrid__count {
    font: 400 17px/1.4 var(--font-main);
    color: var(--c-txt-muted);
}
.favgrid__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: clamp(48px, 6vw, 96px) 24px;
    background: var(--c-bg-soft);
    text-align: center;
}
.favgrid__empty-icon svg {
    width: 44px;
    height: 44px;
    color: var(--c-accent);
}
.favgrid__empty-title {
    margin: 0;
    font: 600 clamp(24px, 2.4vw, 32px)/1.1 var(--font-head);
}
.favgrid__empty-txt {
    max-width: 100%;
    width: 380px;
    margin: 0;
    font: 400 17px/1.55 var(--font-main);
    color: var(--c-txt-muted);
}

@media (max-width: 999px) {
    .cogrid {
        grid-template-columns: minmax(0, 1fr);
    }
    .cogrid__aside {
        position: static;
        order: -1;
    }
    .woocommerce-account .woocommerce,
    #customer_login,
    .woocommerce-Addresses {
        grid-template-columns: minmax(0, 1fr);
    }
    .woocommerce-MyAccount-navigation ul {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0;
    }
    .woocommerce-MyAccount-navigation a {
        min-height: 40px;
        background: var(--c-bg-alt);
        border-radius: 999px;
        font-size: 15px;
    }
}
@media (max-width: 767px) {
    .woocommerce-cart-form__contents thead {
        display: none;
    }
    .woocommerce-cart-form__contents tr.cart_item {
        display: grid;
        grid-template-columns: 72px minmax(0, 1fr) auto;
        gap: 6px 14px;
        padding: 14px 0;
        border-bottom: 1px solid var(--c-line-soft);
    }
    .woocommerce-cart-form__contents tr.cart_item td {
        display: block;
        padding: 0;
        border: 0;
    }
    .woocommerce-cart-form__contents .product-thumbnail {
        grid-row: 1 / 4;
    }
    .woocommerce-cart-form__contents .product-remove {
        grid-column: 3;
        grid-row: 1;
    }
    .woocommerce-cart-form__contents .product-name {
        grid-column: 2;
        grid-row: 1;
    }
    .woocommerce-cart-form__contents .product-price {
        display: none !important;
    }
    .woocommerce-cart-form__contents .product-quantity {
        grid-column: 2;
    }
    .woocommerce-cart-form__contents .product-subtotal {
        grid-column: 3;
        grid-row: 3;
        align-self: end;
    }
    .woocommerce-cart-form__contents tr:not(.cart_item),
    .woocommerce-cart-form__contents .actions {
        display: block;
    }
    .woocommerce-cart-form__contents .actions .coupon {
        display: flex;
        margin: 0 0 10px;
    }
    .woocommerce-cart-form__contents .actions .coupon .input-text {
        flex: 1;
        width: auto;
    }
    .woocommerce .cart_totals {
        width: 100%;
    }
}
@media (max-width: 639px) {
    .costep__fields,
    .woocommerce-address-fields__field-wrapper,
    .woocommerce-EditAccountForm,
    .woocommerce-shipping-fields__field-wrapper {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* === Strony treści: o marce, kontakt, zwroty, blog, wpis, regulamin (aboutintro, factcards, imgpanel, iconboxes, videoband, contactpage, infocards, returns, numcards, shiptable, bloglist, postcard, postgrid, pager, postpage, legal) === */
.aboutintro__inner,
.contactpage__inner,
.returns__inner,
.bloglist__inner,
.postpage__inner,
.legal__inner {
    padding-top: clamp(18px, 2vw, 28px);
}

/* o marce — wstęp */
.aboutintro__grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
    gap: clamp(36px, 4vw, 72px);
    align-items: center;
    margin-top: clamp(20px, 2.4vw, 36px);
}
.aboutintro__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 22px;
    max-width: 100%;
    width: 600px;
}
.aboutintro__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt-2);
}
.aboutintro__title,
.contactpage__title,
.bloglist__title {
    margin: 0;
    font: 600 clamp(min(36px, 9.2vw), 4.4vw, 64px)/1.02 var(--font-head);
    text-wrap: balance;
}
.bloglist__title {
    font-size: clamp(min(40px, 10.25vw), 4.6vw, 68px);
    line-height: 1;
}
.aboutintro__lead,
.imgpanel__p {
    margin: 0;
    font: 400 18px/1.6 var(--font-main);
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.aboutintro__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
}
.aboutintro__media {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 12px;
}
.aboutintro__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.aboutintro__img--main {
    aspect-ratio: 547 / 827;
}
.aboutintro__side {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 0;
}
.aboutintro__side .aboutintro__img {
    flex: 1 1 0;
    min-height: 0;
}

/* kafle informacji (o marce) i dane kontaktowe (kontakt) */
.factcards,
.infocards {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: clamp(56px, 6vw, 96px);
}
.infocards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 0;
}
.factcards li,
.infocards li {
    display: flex;
    min-width: 0;
}
.factcards__item,
.infocards__item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    padding: 22px 20px;
    background: var(--c-bg-alt);
    color: var(--c-txt);
    transition: background-color .35s var(--ease), transform .35s var(--ease);
}
a.factcards__item:hover,
a.infocards__item:hover {
    background: var(--c-bg-hover);
    color: var(--c-txt);
    transform: translateY(-2px);
}
.factcards__icon,
.infocards__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 6px;
    background: var(--c-bg);
    color: var(--c-blue);
}
.factcards__icon img {
    width: 24px;
    height: 24px;
}
.factcards__label,
.infocards__label {
    font: 500 12px/1 var(--font-main);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-txt-muted);
}
.factcards__value {
    font: 600 clamp(17px, 1.4vw, 20px)/1.2 var(--font-head);
    overflow-wrap: anywhere;
}
.infocards__item {
    gap: 14px;
    padding: clamp(18px, 1.8vw, 24px);
}
.infocards__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.infocards__icon {
    margin: 0;
}
.infocards__icon svg {
    width: 22px;
    height: 22px;
}
.infocards__cta {
    font: 500 14px/1 var(--font-main);
    color: var(--c-blue);
}
.infocards__txt {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.infocards__value {
    font: 600 clamp(16px, 1.3vw, 18px)/1.3 var(--font-main);
    overflow-wrap: anywhere;
}

/* o marce — misja (zdjęcie + tekst na tle) */
.imgpanel__inner,
.iconboxes__inner,
.videoband__inner {
    padding-top: var(--section-y);
}
.imgpanel__box {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr));
    gap: clamp(32px, 4vw, 64px);
    align-items: center;
    padding: clamp(28px, 4.5vw, 72px);
    background: var(--c-bg-alt);
}
.imgpanel__img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
}
.imgpanel__txt {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
    max-width: 100%;
    width: 560px;
}
.imgpanel__title {
    text-wrap: balance;
}

/* o marce — wyróżniki */
.iconboxes__title {
    margin-bottom: clamp(32px, 3.5vw, 48px);
}
.iconboxes__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.iconboxes__item {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 6px 18px;
    align-items: start;
    padding: clamp(22px, 2.2vw, 30px);
    background: var(--c-bg-alt);
}
.iconboxes__item--noicon {
    grid-template-columns: minmax(0, 1fr);
}
.iconboxes__icon {
    grid-row: span 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--c-bg);
}
.iconboxes__icon img {
    width: 24px;
    height: 24px;
}
.iconboxes__name {
    margin: 0;
    padding-top: 4px;
    font: 600 20px/1.2 var(--font-head);
}
.iconboxes__txt {
    margin: 0;
    font: 400 16px/1.6 var(--font-main);
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.videoband__video {
    display: block;
    width: 100%;
    height: auto;
}

/* kontakt */
.contactpage__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 100%;
    width: 640px;
    margin: clamp(18px, 2vw, 28px) 0 clamp(32px, 3.4vw, 52px);
}
.contactpage__title {
    font-size: clamp(min(40px, 10.2vw), 4.6vw, 68px);
    line-height: 1;
}
.contactpage__lead,
.bloglist__lead,
.returns__lead,
.legal__lead {
    margin: 0;
    font: 400 18px/1.6 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.contactpage__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: clamp(20px, 2.4vw, 32px);
    align-items: stretch;
    margin-top: clamp(40px, 4.4vw, 72px);
}
.contactpage__grid--solo {
    grid-template-columns: minmax(0, 1fr);
}
.contactpage__form {
    display: flex;
    flex-direction: column;
    gap: 18px;
    min-width: 0;
    padding: clamp(22px, 3vw, 44px);
    box-shadow: inset 0 0 0 1.5px var(--c-line-blue);
}
.contactpage__form-title {
    margin: 0 0 4px;
    font: 600 clamp(26px, 2.6vw, 36px)/1.1 var(--font-head);
}
.contactpage__map {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: clamp(360px, 40vw, 560px);
    overflow: hidden;
    background: var(--c-bg-alt);
}
.contactpage__map iframe {
    flex: 1;
    display: block;
    width: 100%;
    min-height: 260px;
    border: 0;
}
.contactpage__map-bar {
    position: absolute;
    right: 14px;
    bottom: 14px;
    left: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 16px;
    padding: 16px 16px 16px 20px;
    background: var(--c-bg);
    box-shadow: 0 16px 36px -18px rgba(20, 30, 50, .35);
}
.contactpage__map-txt {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.contactpage__map-title {
    font: 600 18px/1.2 var(--font-head);
}
.contactpage__map-sub {
    font: 400 16px/1.4 var(--font-main);
    color: var(--c-txt-muted);
}
.contactpage__map-bar .btn {
    min-height: 46px;
    padding: 0 18px;
    font-size: 14px;
}
.contactpage__bar,
.returns__cta,
.legal__bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px 24px;
    margin-top: 12px;
    padding: 16px 20px;
    background: var(--c-bg-soft);
    font: 400 17px/1.4 var(--font-main);
    color: var(--c-txt-2);
}
.contactpage__note {
    margin: 0;
}
.contactpage__note a {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.contactpage__social {
    display: flex;
    align-items: center;
    gap: 10px;
}
.contactpage__social > span {
    font: 500 15px/1 var(--font-main);
}
.contactpage__soc {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--c-bg);
    color: var(--c-blue);
    transition: background-color var(--t), color var(--t);
}
.contactpage__soc:hover {
    background: var(--c-blue);
    color: var(--c-light);
}

/* kontakt — formularz CF7 (.cform) i podziękowanie po wysłaniu */
.contactpage__form-main {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.contactpage__form-main[hidden],
.contactpage__sent[hidden] {
    display: none;
}
.cform {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.cform__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.cform__field {
    display: flex !important;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}
.cform__field--full {
    grid-column: 1 / -1;
}
.cform__label {
    font: 500 14px/1 var(--font-main);
    color: var(--c-txt);
}
.cform .wpcf7-form-control-wrap {
    margin-top: 0;
}
.cform input:not([type="checkbox"]):not([type="submit"]),
.cform textarea {
    height: 52px;
    padding: 0 16px;
    border: 1.5px solid var(--c-line);
    border-radius: 0;
    background: var(--c-bg);
    font: 400 17px/1 var(--font-main);
    color: var(--c-txt);
    outline: none;
    transition: border-color var(--t), box-shadow var(--t);
}
.cform textarea {
    display: block;
    height: auto;
    min-height: 150px;
    padding: 14px 16px;
    line-height: 1.5;
}
.cform input::placeholder,
.cform textarea::placeholder {
    color: var(--c-txt-soft);
}
.cform input:focus,
.cform textarea:focus {
    border-color: var(--c-blue);
    box-shadow: 0 0 0 4px rgba(0, 113, 188, .12);
}
.cform .wpcf7-not-valid {
    border-color: var(--c-error) !important;
}
.cform .wpcf7-not-valid-tip {
    margin-top: 7px;
    font: 500 12px/1.3 var(--font-main);
    color: var(--c-error);
}
.cform .wpcf7-acceptance .wpcf7-list-item label {
    gap: 12px;
    font: 400 16px/1.45 var(--font-main);
    color: var(--c-txt-2);
    cursor: pointer;
}
.cform .wpcf7-acceptance input[type="checkbox"] {
    flex: none;
    width: 22px;
    height: 22px;
    margin: 0;
    border: 1.5px solid #C9C6D1;
    border-radius: 0;
    background: var(--c-bg) no-repeat center / 12px;
    appearance: none;
    cursor: pointer;
    transition: background-color var(--t), border-color var(--t);
}
.cform .wpcf7-acceptance input[type="checkbox"]:checked {
    border-color: var(--c-accent);
    background-color: var(--c-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.cform .wpcf7-acceptance a {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 2px;
}
.cform__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}
.cform .cform__submit {
    height: 58px;
}
.cform .wpcf7-spinner {
    margin: 0;
}
.contactpage__form .wpcf7-response-output {
    margin: 0 !important;
    padding: 12px 16px !important;
    border: 0 !important;
    background: var(--c-bg-alt);
    font: 500 15px/1.4 var(--font-main);
}
.contactpage__form .wpcf7 form.invalid .wpcf7-response-output,
.contactpage__form .wpcf7 form.failed .wpcf7-response-output {
    background: #FBEAEA;
    color: var(--c-error);
}
.contactpage__sent {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: clamp(12px, 3vw, 40px) 0;
    outline: none;
}
.contactpage__sent-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #DDF1E4;
    color: #1F7A4D;
}
.contactpage__sent-icon svg {
    width: 24px;
    height: 24px;
}
.contactpage__sent-txt {
    margin: 0;
    font: 400 17px/1.6 var(--font-main);
    color: var(--c-txt-2);
}
.contactpage__sent .btn {
    margin-top: 6px;
}

/* zwroty i reklamacje */
.returns__head,
.legal__head {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 100%;
    width: 720px;
    margin: clamp(18px, 2vw, 28px) 0 clamp(28px, 3vw, 44px);
}
.returns__title,
.legal__title {
    margin: 0;
    font: 600 clamp(min(36px, 9.2vw), 4vw, 56px)/1 var(--font-head);
    text-wrap: balance;
}
.returns__title {
    font-size: clamp(min(36px, 9.2vw), 4.4vw, 64px);
    line-height: 1.02;
}
.returns__head {
    gap: 12px;
    margin-top: clamp(14px, 1.6vw, 22px);
}
.returns__lead {
    max-width: 100%;
    width: 600px;
}
.numcards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
    gap: 8px;
    padding: 8px;
    background: var(--c-bg-alt);
}
.numcards__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 22px 20px;
    background: var(--c-bg);
}
.numcards__big {
    font: 600 clamp(30px, 3vw, 40px)/1 var(--font-head);
    color: var(--c-accent);
}
.numcards__txt {
    font: 400 16px/1.45 var(--font-main);
    color: var(--c-txt-2);
}
.returns__cols {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr));
    gap: clamp(48px, 5vw, 80px);
    padding-top: clamp(64px, 7vw, 112px);
}
.returns__box {
    display: flex;
    flex-direction: column;
    gap: 22px;
    min-width: 0;
}
.returns__h2 {
    margin: 0;
    font: 600 clamp(30px, 3vw, 44px)/1.08 var(--font-head);
    text-wrap: balance;
}
.returns__p {
    margin: 0;
    font: 400 16px/1.6 var(--font-main);
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.returns__steps,
.returns__claim {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}
.returns__steps {
    gap: 10px;
}
.returns__step {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px;
    background: var(--c-bg-soft);
}
.returns__claim li {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 16px 0;
    border-top: 1px solid var(--c-line);
}
.returns__num {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--c-dark);
    font: 600 14px/1 var(--font-main);
    color: var(--c-light);
}
.returns__step-txt {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 5px;
}
.returns__step-title {
    font: 600 16px/1.3 var(--font-main);
}
.returns__step-sub {
    font: 400 16px/1.55 var(--font-main);
    color: var(--c-txt-muted);
}
.returns__note {
    margin: 0;
    font: 400 16px/1.55 var(--font-main);
    color: var(--c-txt-muted);
}
.returns__contact {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: 10px;
}
.returns__contact-item {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px;
    background: var(--c-bg-alt);
    color: var(--c-txt);
    transition: background-color var(--t);
}
.returns__contact-item:hover {
    background: var(--c-bg-hover);
    color: var(--c-txt);
}
.returns__contact-item span:first-child {
    font: 500 12px/1 var(--font-main);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-txt-muted);
}
.returns__contact-item span:last-child {
    font: 600 16px/1.3 var(--font-main);
    overflow-wrap: anywhere;
}
.returns__ship {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: clamp(72px, 7vw, 120px);
    padding: clamp(24px, 4vw, 56px);
    background: var(--c-bg-alt);
}
.returns__ship .returns__p {
    margin-bottom: clamp(10px, 1.4vw, 22px);
    font-size: 17px;
    line-height: 1.5;
}
.shiptable {
    display: flex;
    flex-direction: column;
    background: var(--c-bg);
}
.shiptable__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 16px;
    align-items: center;
    padding: 14px 20px;
    border-top: 1px solid var(--c-line-soft);
}
.shiptable__row > span:not(.shiptable__name) {
    min-width: 80px;
    font: 500 16px/1 var(--font-main);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}
.shiptable__row > span:last-child:not(.shiptable__name) {
    font-size: 15px;
    font-weight: 600;
}
.shiptable__row--head {
    border-top: 0;
    border-bottom: 1px solid var(--c-line-soft);
}
.shiptable__row--head + .shiptable__row {
    border-top: 0;
}
.shiptable__row--head > span,
.shiptable__row--head > span:not(.shiptable__name),
.shiptable__row--head > span:last-child:not(.shiptable__name) {
    font: 500 12px/1 var(--font-main);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-txt-muted);
}
.shiptable__row--head > span:first-child {
    min-width: 0;
    text-align: left;
}
.shiptable__name {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    font: 600 15px/1.25 var(--font-main);
}
.shiptable__desc {
    font: 400 14px/1.35 var(--font-main);
    color: var(--c-txt-muted);
}
.shiptable .is-free {
    color: var(--c-success);
}
.returns__cta {
    margin-top: clamp(40px, 4vw, 64px);
    padding: clamp(20px, 2.4vw, 28px) clamp(20px, 3vw, 36px);
    background: none;
    box-shadow: inset 0 0 0 1.5px var(--c-line-blue);
}
.returns__cta-txt {
    font: 600 clamp(20px, 1.8vw, 24px)/1.2 var(--font-head);
    color: var(--c-txt);
}

/* blog */
.bloglist__head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
    gap: 20px 40px;
    margin: clamp(18px, 2vw, 28px) 0 clamp(24px, 2.6vw, 36px);
}
.bloglist__head-txt {
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-width: 100%;
    width: 640px;
}
.bloglist__cats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-bottom: clamp(24px, 2.6vw, 36px);
}
.bloglist__cats-label {
    margin-right: 8px;
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.bloglist__cat {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt);
    transition: background-color var(--t), color var(--t);
}
.bloglist__cat:hover {
    background: #E8EEF5;
    color: var(--c-txt);
}
.bloglist__cat[aria-current="page"] {
    background: var(--c-dark);
    color: var(--c-light);
}
.postgrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(28px, 3vw, 44px) clamp(14px, 1.6vw, 24px);
}
.postgrid > li {
    min-width: 0;
}
.cardgrid .postgrid {
    margin-top: 0;
}
.postcard {
    display: flex;
    flex-direction: column;
    gap: 14px;
    height: 100%;
}
.postcard__media {
    position: relative;
    display: block;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.postcard__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}
.postcard:hover .postcard__img {
    transform: scale(1.04);
}
.postcard__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 7px 11px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .95);
    font: 600 12px/1 var(--font-main);
    color: var(--c-accent);
}
.postcard__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 0 4px;
}
.postcard__meta,
.postpage__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 14px;
    font: 400 14px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.postcard__cat {
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--c-accent);
}
.postcard__title {
    margin: 0;
    font: 600 clamp(20px, 1.6vw, 23px)/1.2 var(--font-head);
    text-wrap: pretty;
}
.postcard__title a {
    color: var(--c-txt);
    transition: color var(--t);
}
.postcard__title a:hover {
    color: var(--c-accent);
}
.postcard__lead {
    display: -webkit-box;
    margin: 0;
    overflow: hidden;
    font: 400 16px/1.55 var(--font-main);
    color: var(--c-txt-muted);
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.postcard__more {
    margin-top: 2px;
    padding: 0;
}
.postcard__pill {
    padding: 7px 11px;
    border-radius: 999px;
    background: var(--c-light);
    font: 600 12px/1 var(--font-main);
    color: var(--c-accent);
}
.postcard--feat {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: clamp(20px, 3vw, 48px);
    align-items: center;
    margin-bottom: clamp(36px, 4vw, 56px);
    padding: 8px;
    background: var(--c-bg-alt);
}
.postcard--feat .postcard__media {
    aspect-ratio: 16 / 11;
}
.postcard--feat .postcard__body {
    gap: 16px;
    padding: clamp(12px, 2vw, 32px);
}
.postcard--feat .postcard__meta {
    gap: 10px;
    font-weight: 500;
}
.postcard--feat .postcard__title {
    font-size: clamp(28px, 2.8vw, 40px);
    line-height: 1.08;
}
.postcard--feat .postcard__lead {
    display: block;
    max-width: 100%;
    width: 520px;
    font-size: 17px;
    line-height: 1.6;
    color: var(--c-txt-2);
    text-wrap: pretty;
}
.postcard__btn {
    margin-top: 6px;
}
.pager {
    margin-top: clamp(36px, 4vw, 56px);
}
.pager ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.pager .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt);
}
.pager .page-numbers.current {
    background: var(--c-dark);
    color: var(--c-light);
}
.pager a.page-numbers:hover {
    background: var(--c-bg-hover);
}

/* wpis + regulamin: treść ze spisem treści */
.postpage__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    max-width: 100%;
    width: 760px;
    margin: 0 auto;
    padding: clamp(36px, 4vw, 64px) 0 clamp(32px, 3.4vw, 52px);
    text-align: center;
}
.postpage__head .postpage__meta {
    justify-content: center;
    gap: 12px;
    font: 500 14px/1 var(--font-main);
}
.postpage__cat {
    color: var(--c-accent);
}
.postpage__dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #C9D3DE;
}
.postpage__title {
    margin: 0;
    font: 600 clamp(min(36px, 9.2vw), 4.2vw, 58px)/1.06 var(--font-head);
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.postpage__lead {
    max-width: 100%;
    width: 600px;
    margin: 0;
    font: 400 clamp(17px, 1.4vw, 19px)/1.65 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.postpage__hero {
    max-width: 100%;
    width: 1040px;
    margin: 0 auto;
    aspect-ratio: 21 / 9;
    overflow: hidden;
    background: var(--c-bg-alt);
}
.postpage__col {
    display: flex;
    flex-direction: column;
    gap: clamp(36px, 4vw, 52px);
    max-width: 100%;
    width: 680px;
    margin: 0 auto;
    padding-top: clamp(44px, 5vw, 72px);
}
.postpage__tocnav {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.postpage__tocnav[hidden] {
    display: none;
}
.postpage__tocnav-title {
    padding-bottom: 12px;
    font: 500 14px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.postpage__tocnav .postpage__toc {
    gap: 0;
    margin: 0;
}
.postpage__tocnav .postpage__toc-link {
    align-items: baseline;
    gap: 20px;
    padding: 16px 0;
    border-top: 1px solid var(--c-line-soft);
    border-radius: 0;
    font: 400 18px/1.5 var(--font-main);
    color: var(--c-txt);
    text-wrap: pretty;
}
.postpage__tocnav .postpage__toc-link[aria-current="true"] {
    background: none;
    font-weight: 400;
    color: var(--c-txt);
}
.postpage__tocnav .postpage__toc-link:hover {
    background: none;
    color: var(--c-accent);
}
.postpage__tocnav .postpage__toc-num {
    width: 22px;
    font: 500 15px/1 var(--font-main);
    color: var(--c-accent);
}
.postpage__shop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 0;
    border-top: 1px solid var(--c-line);
    border-bottom: 1px solid var(--c-line);
    color: var(--c-txt);
    transition: color var(--t);
}
.postpage__shop:hover {
    color: var(--c-accent);
}
.postpage__shop-txt {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}
.postpage__shop-label {
    font: 500 14px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.postpage__shop-title {
    font: 600 clamp(20px, 1.8vw, 24px)/1.2 var(--font-head);
}
.postpage__shop-arrow {
    display: flex;
    flex: none;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--c-bg-alt);
}
.postpage__shop-arrow svg {
    width: 16px;
    height: 10px;
}
.postpage__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.postpage__grid,
.legal__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: clamp(32px, 4vw, 72px);
    align-items: start;
    margin-top: clamp(32px, 3.4vw, 52px);
}
.legal__grid {
    grid-template-columns: 280px minmax(0, 1fr);
    margin-top: 0;
}
.legal__body p:empty {
    display: none;
}
.legal__toc[hidden] + .legal__main {
    grid-column: 1 / -1;
}
.legal__main {
    display: flex;
    flex-direction: column;
    gap: clamp(36px, 3.6vw, 52px);
    min-width: 0;
    max-width: 100%;
    width: 820px;
}
.legal__main .legal__body {
    font-size: 17px;
    line-height: 1.7;
}
.legal__main .legal__body h2 {
    margin: clamp(36px, 3.6vw, 52px) 0 18px;
    font-size: clamp(24px, 2.2vw, 30px);
}
.legal__main .legal__body h2:first-child {
    margin-top: 0;
}
.legal__toc {
    gap: 2px;
    padding: 14px;
    background: var(--c-bg-alt);
}
.legal__toc .postpage__toc-title {
    padding: 8px 12px 10px;
    color: var(--c-accent);
}
.legal__toc .postpage__toc {
    margin: 0;
}
.legal__toc .postpage__toc-link {
    padding: 9px 12px;
    border-radius: 0;
    font: 500 15px/1.35 var(--font-main);
    color: var(--c-txt-2);
}
.legal__toc .postpage__toc-link:hover {
    background: var(--c-bg);
}
.legal__toc .postpage__toc-link[aria-current="true"] {
    background: var(--c-bg);
    font-weight: 500;
    color: var(--c-accent);
}
.postpage__aside,
.legal__toc {
    position: sticky;
    top: 120px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: calc(100vh - 140px);
    padding: 22px 20px;
    overflow-y: auto;
    background: var(--c-bg-soft);
}
.postpage__toc-title {
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.postpage__toc {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 -10px;
    padding: 0;
    list-style: none;
}
.postpage__toc-link {
    display: flex;
    gap: 10px;
    padding: 8px 10px;
    border-radius: 10px;
    font: 400 15px/1.4 var(--font-main);
    color: var(--c-txt-2);
    transition: background-color var(--t), color var(--t);
}
.postpage__toc-link:hover {
    background: var(--c-bg-alt);
    color: var(--c-accent);
}
.postpage__toc-link[aria-current="true"] {
    background: var(--c-bg-pink);
    font-weight: 600;
    color: var(--c-accent);
}
.postpage__toc-num {
    flex: none;
    font-variant-numeric: tabular-nums;
    color: var(--c-txt-soft);
}
.postpage__body,
.legal__body {
    min-width: 0;
    overflow-wrap: anywhere;
    font: 400 18px/1.75 var(--font-main);
    color: var(--c-txt-2);
}
.postpage__body > *,
.legal__body p,
.legal__body ul,
.legal__body ol {
    margin: 0 0 1.1em;
}
.postpage__body h2,
.legal__body h2 {
    margin: 1.8em 0 .6em;
    font: 600 clamp(24px, 2.2vw, 32px)/1.15 var(--font-head);
    color: var(--c-txt);
    scroll-margin-top: 120px;
}
.postpage__body h3,
.legal__body h3 {
    margin: 1.4em 0 .5em;
    font: 600 20px/1.3 var(--font-main);
    color: var(--c-txt);
    scroll-margin-top: 120px;
}
.postpage__body [tabindex="-1"]:focus,
.legal__body [tabindex="-1"]:focus {
    outline: none;
}
.postpage__body > h2:first-child,
.legal__body h2:first-child {
    margin-top: 0;
}
.postpage__body a,
.legal__body a {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.postpage__body ul,
.postpage__body ol,
.legal__body ul,
.legal__body ol {
    padding-left: 1.3em;
}
.postpage__body ul,
.legal__body ul {
    list-style: disc;
}
.postpage__body ol,
.legal__body ol {
    list-style: decimal;
}
.postpage__body li::marker,
.legal__body li::marker {
    color: var(--c-blue);
}
.postpage__body li,
.legal__body li {
    margin-bottom: .4em;
}
.postpage__body img {
    max-width: 100%;
    height: auto;
}
.postpage__body table {
    width: 100%;
    border-collapse: collapse;
    font-size: 16px;
}
.postpage__body th,
.postpage__body td {
    padding: 10px 12px;
    border: 1px solid var(--c-line-soft);
    text-align: left;
}
.postpage__body blockquote {
    margin-left: 0;
    padding: 4px 0 4px 20px;
    border-left: 3px solid var(--c-accent);
    font-style: italic;
}
.legal__main .legal__bar {
    margin: 0;
    padding: 18px 22px;
    background: none;
    box-shadow: inset 0 0 0 1.5px var(--c-line-blue);
    font: 500 16px/1.4 var(--font-main);
    color: var(--c-txt);
}
.legal__bar-btn {
    min-height: 46px;
}

@media (max-width: 1099px) {
    .factcards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .infocards,
    .iconboxes__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 999px) {
    .contactpage__grid,
    .postpage__grid,
    .legal__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .legal__toc {
        position: static;
        max-height: none;
    }
    .postgrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 899px) {
    .postcard--feat {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 699px) {
    .iconboxes__grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 639px) {
    .factcards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .infocards,
    .postgrid {
        grid-template-columns: minmax(0, 1fr);
    }
    .postpage__hero {
        aspect-ratio: 4 / 3;
    }
    .shiptable__row {
        gap: 10px;
        padding: 14px 16px;
    }
    .shiptable__row > span:not(.shiptable__name) {
        min-width: 0;
    }
    .cform__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .cform .cform__submit {
        align-self: stretch;
        width: 100%;
    }
}

/* === 404 (errorbox) === */
.errorbox__inner {
    padding-top: clamp(28px, 4vw, 56px);
}
.errorbox__box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    max-width: 100%;
    width: 860px;
    margin: 0 auto;
    padding: clamp(36px, 5vw, 72px) clamp(20px, 4vw, 56px);
    background: var(--c-bg-soft);
    text-align: center;
}
.errorbox__code {
    margin: 0;
    background: var(--grad-text);
    -webkit-background-clip: text;
    background-clip: text;
    font: 700 clamp(96px, 16vw, 200px)/.9 var(--font-head);
    letter-spacing: -.03em;
    color: transparent;
    -webkit-text-fill-color: transparent;
}
.errorbox__title {
    margin: 0;
    font: 600 clamp(min(32px, 8.2vw), 3.6vw, 52px)/1.05 var(--font-head);
    text-wrap: balance;
}
.errorbox__txt {
    max-width: 100%;
    width: 520px;
    margin: 0;
    font: 400 17px/1.55 var(--font-main);
    color: var(--c-txt-muted);
    text-wrap: pretty;
}
.errorbox__search,
.listing__empty-search {
    max-width: 100%;
    width: 560px;
    margin-top: 8px;
}
.errorbox__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.errorbox__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin-top: 20px;
    padding-top: 24px;
    border-top: 1px solid var(--c-line-soft);
    max-width: 100%;
    width: 640px;
}
.errorbox__label {
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.errorbox__chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
.errorbox__chips .searchbox__chip {
    background: var(--c-bg);
}

/* === Słownik (glossary — wtyczka swg-glossary, szablony w motywie) === */
.glossary__inner {
    padding-top: clamp(18px, 2vw, 28px);
}
.glossary .swg-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
    font: 400 14px/1.3 var(--font-main);
    color: var(--c-txt-soft);
}
.glossary .swg-breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.glossary .swg-breadcrumbs__item + .swg-breadcrumbs__item::before {
    content: "/";
    color: var(--c-txt-soft);
}
.glossary .swg-breadcrumbs a {
    color: var(--c-txt-soft);
    transition: color .2s;
}
.glossary .swg-breadcrumbs a:hover {
    color: var(--c-accent);
}
.glossary__head {
    margin: clamp(14px, 1.6vw, 22px) 0 clamp(24px, 2.6vw, 36px);
}
.glossary__title {
    margin: 0;
    font: 600 clamp(min(36px, 9.2vw), 4vw, 56px)/1.04 var(--font-head);
    text-wrap: balance;
    overflow-wrap: anywhere;
}
.glossary .swg-toolbar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 24px;
    padding: clamp(18px, 2vw, 24px);
    background: var(--c-bg-soft);
}
.glossary .swg-glossary-search input {
    width: 100%;
    max-width: 100%;
    height: 52px;
    padding: 0 20px;
    border: 1.5px solid var(--c-line);
    border-radius: 999px;
    background: var(--c-bg);
    font: 400 17px/1 var(--font-main);
    color: var(--c-txt);
    outline: none;
}
.glossary .swg-glossary-search input:focus {
    border-color: var(--c-blue);
}
.glossary .swg-az {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.glossary .swg-az__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    border-radius: 999px;
    background: var(--c-bg);
    font: 500 14px/1 var(--font-main);
    color: var(--c-txt);
    text-decoration: none;
    transition: background-color var(--t), color var(--t);
}
.glossary .swg-az__link:hover {
    background: var(--c-bg-hover);
}
.glossary .swg-az__link.is-active {
    background: var(--c-dark);
    color: var(--c-light);
}
.glossary .swg-count {
    font: 400 14px/1 var(--font-main);
    color: var(--c-txt-muted);
}
.glossary .swg-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.glossary .swg-list li {
    padding: 14px 0;
    border-bottom: 1px solid var(--c-line-soft);
    font: 400 15px/1.5 var(--font-main);
    color: var(--c-txt-muted);
}
.glossary .swg-list a {
    font: 600 16px/1.4 var(--font-main);
    color: var(--c-txt);
    text-decoration: none;
    transition: color var(--t);
}
.glossary .swg-list a:hover {
    color: var(--c-accent);
}
.glossary .swg-pagination {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
    margin-top: clamp(28px, 3vw, 44px);
}
.glossary .swg-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--c-bg-alt);
    font: 500 15px/1 var(--font-main);
    color: var(--c-txt);
    text-decoration: none;
}
.glossary .swg-pagination .page-numbers.current {
    background: var(--c-dark);
    color: var(--c-light);
}
.glossary .swg-pagination a.page-numbers:hover {
    background: var(--c-bg-hover);
}
.glossary--single .glossary__inner > article {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 100%;
    width: 860px;
}
.glossary--single .glossary__head {
    margin: 8px 0 0;
}
.glossary .swg-back {
    margin: 0;
}
.glossary .swg-short-def {
    margin: 0;
    padding: 16px 20px;
    border-left: 3px solid var(--c-accent);
    background: var(--c-bg-soft);
    font: 400 18px/1.55 var(--font-main);
    color: var(--c-txt-2);
}
.glossary .swg-toc {
    padding: 18px 20px;
    background: var(--c-bg-soft);
}
.glossary .swg-toc h2 {
    margin: 0 0 8px;
    font: 600 12px/1 var(--font-main);
    letter-spacing: .08em;
    text-transform: uppercase;
}
.glossary .swg-toc a,
.glossary .swg-glossary-content a {
    color: var(--c-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.glossary .swg-glossary-content {
    font: 400 18px/1.75 var(--font-main);
    color: var(--c-txt-2);
    overflow-wrap: anywhere;
}
.glossary .swg-glossary-content > * {
    margin: 0 0 1em;
}
.glossary .swg-glossary-content h2,
.glossary .swg-glossary-content h3 {
    margin: 1.4em 0 .5em;
    font: 600 clamp(22px, 2vw, 28px)/1.2 var(--font-head);
    color: var(--c-txt);
    scroll-margin-top: 120px;
}
.glossary .swg-related {
    margin-top: 16px;
    padding: clamp(18px, 2vw, 24px);
    background: var(--c-bg-alt);
}
.glossary .swg-related h2 {
    margin: 0 0 10px;
    font: 600 22px/1.1 var(--font-head);
}
.glossary .swg-related__list {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
}
.glossary .swg-related__item {
    padding: 10px 0;
    border-top: 1px solid var(--c-line-blue);
    font: 400 15px/1.5 var(--font-main);
}
.glossary .swg-related__item:first-child {
    border-top: 0;
}
.glossary .swg-related__link {
    color: var(--c-txt);
}
.glossary .swg-related__link span[itemprop="name"] {
    font-weight: 600;
}
.glossary .swg-related__link:hover span[itemprop="name"] {
    color: var(--c-accent);
}
.glossary .swg-related__short {
    color: var(--c-txt-muted);
}
@media (max-width: 767px) {
    .glossary .swg-list {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* === Mobile: przyciski wyśrodkowane === */
@media (max-width: 639px) {
    .hero__actions,
    .listimg__actions {
        display: flex;
        justify-content: center;
    }
    .hero__actions {
        align-self: stretch;
    }
    .sechead__actions {
        flex-basis: 100%;
        justify-content: center;
    }
    .aboutintro__actions {
        align-self: stretch;
        justify-content: center;
    }
    .imgcards__btn,
    .imgtxt__btn {
        align-self: center;
    }
    .returns__cta,
    .legal__bar,
    .contactpage__map-bar {
        justify-content: center;
        text-align: center;
    }
}

/* === Mobile: siatki produktów — odstęp między kolumnami 5px === */
@media (max-width: 639px) {
    .imgcards__grid,
    .listing__grid,
    .cardgrid__grid {
        column-gap: 5px;
    }
}

/* === Mobile: atuty z ikonami — jedna kolumna, ikona obok tekstu === */
@media (max-width: 639px) {
    .icongrid__list {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
        border-bottom: 1px solid var(--c-line);
    }
    .icongrid__item {
        display: grid;
        grid-template-columns: 44px minmax(0, 1fr);
        grid-template-rows: auto auto;
        column-gap: 16px;
        align-items: start;
        padding: 18px 0;
    }
    .icongrid__icon {
        grid-row: 1 / 3;
        width: 44px;
        height: 44px;
        margin-bottom: 0;
    }
    .icongrid__icon img {
        width: 22px;
        height: 22px;
    }
    .icongrid__name {
        font-size: 18px;
    }
    .icongrid__desc {
        margin-top: 4px;
        font-size: 15px;
        line-height: 1.5;
    }
}

/* === Kasa: błędy walidacji na całą szerokość, zgoda bramki płatności === */
/* WooCommerce wstawia błędy jako pierwsze dziecko form.checkout (= .cogrid) — bez tego zajmują kolumnę formularza */
.cogrid > .woocommerce-NoticeGroup {
    grid-column: 1 / -1;
    min-width: 0;
}
/* Etykiety zgód bramek (np. Przelewy24 / BLIK): tekst z linkami — inline-flex rozbija go na kolumny */
.woocommerce-checkout #payment .payment_box label.checkbox {
    position: relative !important;
    display: block !important;
    padding-left: 32px !important;
    font: 400 14px/1.5 var(--font-main) !important;
    color: var(--c-txt-2) !important;
    overflow-wrap: anywhere;
}
.woocommerce-checkout #payment .payment_box label.checkbox input[type="checkbox"] {
    position: absolute !important;
    top: 1px;
    left: 0;
    margin: 0 !important;
}
.woocommerce-checkout #payment .payment_box label.checkbox a {
    color: var(--c-txt);
    text-decoration: underline;
    text-underline-offset: 3px;
}
@media (max-width: 999px) {
    .cogrid > .woocommerce-NoticeGroup {
        order: -2;
    }
}

/* === Omnibus: najniższa cena z 30 dni (wtyczka Smart Omnibus Feature) === */
.pcard__omnibus,
.buybox__omnibus,
.cartpage__omnibus {
    margin: 0;
    font: 400 12px/1.4 var(--font-main);
    color: var(--c-txt-muted);
}
.pcard__omnibus {
    margin-top: 6px;
}
.buybox__omnibus {
    margin-top: 8px;
    font-size: 13px;
}
.cartpage__omnibus {
    display: block;
}
