/* Wspolne style opisow produktow malzado.pl.
   Kazdy opis w bloku Raw HTML owiniety w <div class="mz-opis">...</div>.
   Wszystkie klasy z prefiksem mz- i zagniezdzone pod .mz-opis, zeby nie ruszac Salienta ani WooCommerce.
   Katalog sekcji i przyklady: szablony/README.md */

.mz-opis {
    --mz-akcent: var(--nectar-accent-color, #1e5339); /* kolor akcentu z Salienta */
    --mz-tekst: #1f1f1f;
    --mz-tekst-2: #555;
    --mz-tlo: #f7f5f2;
    --mz-tlo-ciemne: #1d2a22;
    --mz-promien: 14px;
    color: var(--mz-tekst);
    line-height: 1.6;
}

.mz-opis *,
.mz-opis *::before,
.mz-opis *::after {
    box-sizing: border-box;
}

.mz-opis p {
    padding: 0;
}

/* --- Sekcje i tla --- */

.mz-opis .mz-sekcja {
    padding: 48px 0;
}

.mz-opis .mz-sekcja + .mz-sekcja {
    border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.mz-opis .mz-sekcja--jasna,
.mz-opis .mz-sekcja--ciemna {
    border-radius: calc(var(--mz-promien) * 1.5);
    padding: 48px 32px;
    margin: 24px 0;
    border-top: 0;
}

.mz-opis .mz-sekcja--jasna {
    background: var(--mz-tlo);
}

.mz-opis .mz-sekcja--ciemna {
    background: var(--mz-tlo-ciemne);
    color: #f3f1ec;
}

.mz-opis .mz-sekcja--ciemna .mz-naglowek,
.mz-opis .mz-sekcja--ciemna h3 {
    color: #fff;
}

.mz-opis .mz-sekcja--jasna + .mz-sekcja,
.mz-opis .mz-sekcja--ciemna + .mz-sekcja,
.mz-opis .mz-sekcja + .mz-sekcja--jasna,
.mz-opis .mz-sekcja + .mz-sekcja--ciemna {
    border-top: 0;
}

.mz-opis .mz-srodek {
    text-align: center;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Naglowki: etykieta + naglowek z akcentem --- */

.mz-opis .mz-etykieta {
    display: block;
    color: var(--mz-akcent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    margin: 0 0 10px;
}

.mz-opis .mz-sekcja--ciemna .mz-etykieta {
    color: #b9d8c4;
}

.mz-opis .mz-naglowek {
    font-size: clamp(26px, 4.4vw, 40px);
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
}

.mz-opis .mz-naglowek em {
    color: var(--mz-akcent);
    font-style: italic;
}

.mz-opis .mz-sekcja--ciemna .mz-naglowek em {
    color: #b9d8c4;
}

.mz-opis .mz-lead {
    font-size: 18px;
    margin: 0 0 16px;
}

.mz-opis .mz-uwaga {
    font-size: 14px;
    opacity: 0.75;
    margin: 16px 0 0;
    text-align: center;
}

.mz-opis .mz-badge {
    display: inline-block;
    background: var(--mz-akcent);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 4px 14px;
    margin-bottom: 16px;
}

/* --- Media: zdjecia i filmy --- */

.mz-opis img,
.mz-opis video {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: var(--mz-promien);
}

.mz-opis .mz-media {
    margin: 0;
}

.mz-opis .mz-media img,
.mz-opis .mz-media video {
    width: 100%;
}

/* Media samodzielne (poza .mz-split) - nie szersze niz 760 px, zeby male zdjecia nie byly rozmyte */
.mz-opis .mz-sekcja > .mz-media {
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

.mz-opis .mz-media figcaption {
    font-size: 14px;
    color: var(--mz-tekst-2);
    text-align: center;
    margin-top: 8px;
}

.mz-opis .mz-media--pion video,
.mz-opis .mz-media--pion img {
    aspect-ratio: 9 / 16;
    object-fit: cover;
}

/* Brak pliku w podgladzie (podmieniane przez skrypt) */
.mz-opis .mz-brak-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border: 2px dashed rgba(0, 0, 0, 0.2);
    border-radius: var(--mz-promien);
    color: var(--mz-tekst-2);
    font-size: 14px;
    padding: 16px;
    text-align: center;
}

/* --- Hero --- */

.mz-opis .mz-hero {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}

.mz-opis .mz-hero .mz-media {
    margin-top: 24px;
}

.mz-opis .mz-punkty {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 20px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mz-opis .mz-punkty li {
    margin: 0;
    list-style: none;
    font-weight: 600;
}

/* --- Zdjecie + tekst (na przemian) --- */

.mz-opis .mz-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}

.mz-opis .mz-split--odwrotnie .mz-media {
    order: 2;
}

.mz-opis .mz-split p:last-child {
    margin-bottom: 0;
}

/* --- Karty korzysci --- */

.mz-opis .mz-korzysci {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.mz-opis .mz-korzysci li {
    background: var(--mz-tlo);
    border-radius: var(--mz-promien);
    padding: 20px;
    margin: 0;
    list-style: none;
}

.mz-opis .mz-sekcja--jasna .mz-korzysci li {
    background: #fff;
}

.mz-opis .mz-korzysci h3 {
    font-size: 18px;
    margin: 0 0 8px;
}

.mz-opis .mz-korzysci p {
    margin: 0;
}

.mz-opis .mz-ikona {
    display: block;
    font-size: 28px;
    line-height: 1;
    margin-bottom: 10px;
}

/* --- Siatka elementow (np. co powstanie) --- */

.mz-opis .mz-siatka {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 12px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.mz-opis .mz-siatka li {
    background: #fff;
    border-radius: var(--mz-promien);
    padding: 14px 12px;
    margin: 0;
    list-style: none;
    text-align: center;
}

.mz-opis .mz-siatka strong {
    display: block;
    font-size: 17px;
}

.mz-opis .mz-siatka span {
    font-size: 14px;
    color: var(--mz-tekst-2);
}

/* Trzy kafelki w jednym rzedzie takze na telefonie (np. sekcja "Dla rodzenstwa") */
.mz-opis .mz-siatka--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.mz-opis .mz-siatka--3 li {
    padding: 12px 8px;
}

.mz-opis .mz-siatka--3 span {
    display: block;
    font-size: 13px;
    line-height: 1.3;
}

/* --- Zawartosc zestawu (ilosc + nazwa) --- */

.mz-opis .mz-zestaw {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mz-opis .mz-zestaw li {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    padding: 10px 0;
    list-style: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mz-opis .mz-zestaw li:last-child {
    border-bottom: 0;
}

.mz-opis .mz-zestaw b {
    flex: 0 0 auto;
    min-width: 52px;
    text-align: center;
    background: var(--mz-akcent);
    color: #fff;
    border-radius: 999px;
    padding: 2px 10px;
    font-size: 15px;
}

/* --- Kroki --- */

.mz-opis .mz-kroki {
    counter-reset: mz-krok;
    list-style: none;
    max-width: 640px;
    margin: 0 auto;
    padding: 0;
}

.mz-opis .mz-kroki li {
    counter-increment: mz-krok;
    position: relative;
    padding: 0 0 20px 52px;
    margin: 0;
    list-style: none;
}

.mz-opis .mz-kroki li::before {
    content: counter(mz-krok);
    position: absolute;
    left: 0;
    top: -2px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--mz-akcent);
    color: #fff;
    font-weight: 700;
    line-height: 36px;
    text-align: center;
}

/* --- Kroki ze zdjeciami (kafelki z numerem) --- */

.mz-opis .mz-kroki-foto {
    counter-reset: mz-krok-foto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.mz-opis .mz-kroki-foto li {
    counter-increment: mz-krok-foto;
    position: relative;
    margin: 0;
    list-style: none;
}

.mz-opis .mz-kroki-foto img,
.mz-opis .mz-kroki-foto video {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    margin-bottom: 12px;
}

.mz-opis .mz-kroki-foto li::before {
    content: counter(mz-krok-foto);
    position: absolute;
    top: 10px;
    left: 10px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--mz-akcent);
    color: #fff;
    font-weight: 700;
    line-height: 36px;
    text-align: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.mz-opis .mz-kroki-foto p {
    margin: 0;
    font-size: 15px;
}

/* --- Przed / po (dwie karty obok siebie) --- */

.mz-opis .mz-przed-po {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-top: 24px;
}

.mz-opis .mz-przed-po > div {
    border-radius: var(--mz-promien);
    padding: 24px;
}

.mz-opis .mz-przed {
    background: #f1f1f1;
    color: #555;
}

.mz-opis .mz-po {
    background: var(--mz-akcent);
    color: #fff;
}

.mz-opis .mz-przed-po h3 {
    font-size: 20px;
    margin: 0 0 12px;
}

.mz-opis .mz-po h3 {
    color: #fff;
}

.mz-opis .mz-przed-po ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mz-opis .mz-przed-po li {
    margin: 0 0 8px;
    padding-left: 28px;
    position: relative;
    list-style: none;
}

.mz-opis .mz-przed li::before {
    content: "\2715";
    position: absolute;
    left: 0;
    color: #c0392b;
    font-weight: 700;
}

.mz-opis .mz-po li::before {
    content: "\2713";
    position: absolute;
    left: 0;
    color: #ffd36e;
    font-weight: 700;
}

/* --- Porownanie (tabela z kolumna "my" wyrozniona) --- */

.mz-opis .mz-porownanie {
    width: 100%;
    max-width: 760px;
    margin: 24px auto 0;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 16px;
}

.mz-opis .mz-porownanie th,
.mz-opis .mz-porownanie td {
    padding: 14px 12px;
    text-align: center;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mz-opis .mz-porownanie th:first-child,
.mz-opis .mz-porownanie td:first-child {
    text-align: left;
    font-weight: 600;
}

.mz-opis .mz-porownanie .mz-my {
    background: var(--mz-akcent);
    color: #fff;
    font-weight: 700;
}

.mz-opis .mz-porownanie thead .mz-my {
    border-radius: var(--mz-promien) var(--mz-promien) 0 0;
}

.mz-opis .mz-porownanie .mz-tak {
    color: var(--mz-akcent);
    font-weight: 700;
}

.mz-opis .mz-porownanie .mz-my.mz-tak {
    color: #ffd36e;
}

.mz-opis .mz-porownanie .mz-nie {
    color: #c0392b;
    font-weight: 700;
}

/* --- Zaufanie (ikony + krotki tekst) --- */

.mz-opis .mz-zaufanie {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
}

.mz-opis .mz-zaufanie li {
    margin: 0;
    list-style: none;
    text-align: center;
    background: #fff;
    border-radius: var(--mz-promien);
    padding: 20px 14px;
}

.mz-opis .mz-zaufanie .mz-ikona {
    font-size: 32px;
}

.mz-opis .mz-zaufanie strong {
    display: block;
    font-size: 17px;
    margin-bottom: 4px;
}

.mz-opis .mz-zaufanie span {
    font-size: 14px;
    color: var(--mz-tekst-2);
}

.mz-opis .mz-zaufanie a {
    color: var(--mz-akcent);
}

/* --- CTA --- */

.mz-opis .mz-cta {
    text-align: center;
}

.mz-opis .mz-przycisk {
    display: inline-block;
    background: var(--mz-akcent);
    color: #fff !important;
    font-size: 18px;
    font-weight: 700;
    text-decoration: none !important;
    border-radius: 999px;
    padding: 16px 36px;
    margin-top: 8px;
    box-shadow: 0 6px 18px rgba(30, 83, 57, 0.35);
}

.mz-opis .mz-przycisk:hover {
    filter: brightness(1.1);
}

/* Na ciemnym tle przycisk zolty - kontrast */
.mz-opis .mz-sekcja--ciemna .mz-przycisk {
    background: #ffd36e;
    color: #1d2a22 !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

/* --- Parametry --- */

.mz-opis .mz-parametry {
    display: grid;
    grid-template-columns: minmax(120px, max-content) 1fr;
    max-width: 640px;
    margin: 0 auto;
    border-radius: var(--mz-promien);
    overflow: hidden;
    background: var(--mz-tlo);
}

.mz-opis .mz-sekcja--jasna .mz-parametry {
    background: #fff;
}

.mz-opis .mz-parametry dt,
.mz-opis .mz-parametry dd {
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.mz-opis .mz-parametry dt {
    font-weight: 600;
}

/* --- FAQ (natywne details, bez JS) --- */

.mz-opis .mz-faq {
    max-width: 760px;
    margin: 0 auto;
}

.mz-opis .mz-faq details {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.mz-opis .mz-faq summary {
    cursor: pointer;
    list-style: none;
    font-weight: 600;
    font-size: 17px;
    padding: 16px 40px 16px 0;
    position: relative;
}

.mz-opis .mz-faq summary::-webkit-details-marker {
    display: none;
}

.mz-opis .mz-faq summary::after {
    content: "+";
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 400;
    color: var(--mz-akcent);
}

.mz-opis .mz-faq details[open] summary::after {
    content: "\2212";
}

.mz-opis .mz-faq details p {
    margin: 0 0 16px;
    color: var(--mz-tekst-2);
}

/* --- Male ekrany --- */

@media (max-width: 900px) {
    .mz-opis .mz-kroki-foto,
    .mz-opis .mz-zaufanie {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 600px) {
    .mz-opis .mz-przed-po {
        grid-template-columns: 1fr;
    }
    .mz-opis .mz-porownanie {
        font-size: 14px;
    }
    .mz-opis .mz-porownanie th,
    .mz-opis .mz-porownanie td {
        padding: 10px 6px;
    }
}

@media (max-width: 760px) {
    .mz-opis .mz-split {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .mz-opis .mz-split--odwrotnie .mz-media {
        order: 0;
    }
}

/* --- Opinie klientow: [mz_opinie] z wtyczki MU (tylko prawdziwe opinie WooCommerce) --- */

.mz-opis .mz-opinie {
    margin-top: 32px;
    text-align: center;
}

.mz-opis .mz-gwiazdki {
    position: relative;
    display: inline-block;
    font-size: 18px;
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
}

.mz-opis .mz-gwiazdki__tlo {
    color: #ddd6c8;
}

.mz-opis .mz-gwiazdki__pelne {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #e0b44c;
}

.mz-opis .mz-opinie__podsumowanie {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 14px;
    margin: 0 0 28px;
}

.mz-opis .mz-opinie__srednia {
    color: var(--mz-akcent);
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
}

.mz-opis .mz-opinie__podsumowanie .mz-gwiazdki {
    font-size: 22px;
}

.mz-opis .mz-opinie__liczba {
    color: var(--mz-tekst-2);
    font-size: 15px;
}

.mz-opis .mz-opinie__dodaj {
    color: var(--mz-akcent);
    font-size: 14px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.mz-opis .mz-opinie__lista {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    max-width: 960px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    text-align: left;
}

.mz-opis .mz-opinia {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 20px 22px;
    border: 1px solid rgba(30, 83, 57, 0.12);
    border-radius: var(--mz-promien);
    background: #fff;
}

.mz-opis .mz-opinia__gora {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.mz-opis .mz-opinia__gora time {
    color: #8a8a8a;
    font-size: 13px;
}

.mz-opis .mz-opinia__tresc p {
    margin: 0 0 8px;
    font-size: 15px;
    line-height: 1.6;
}

.mz-opis .mz-opinia__autor {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin-top: auto;
    font-weight: 700;
}

.mz-opis .mz-opinia__zweryfikowany {
    color: var(--mz-akcent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.mz-opis .mz-opinia__zrodlo {
    align-self: flex-start;
    padding: 4px 10px;
    border-radius: 999px;
    background: #f1eee7;
    color: #6b6b6b;
    font-size: 12px;
}

.mz-opis .mz-opinia__zrodlo a {
    color: inherit;
    text-decoration: none;
}

.mz-opis .mz-opinie__pusto p {
    max-width: 520px;
    margin: 0 auto 8px;
    color: var(--mz-tekst-2);
}

.mz-opis .mz-paginacja {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

.mz-opis .mz-paginacja a,
.mz-opis .mz-paginacja span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid rgba(30, 83, 57, 0.22);
    border-radius: 999px;
    color: var(--mz-akcent);
    font-weight: 700;
    text-decoration: none;
}

.mz-opis .mz-paginacja a:hover {
    background: rgba(30, 83, 57, 0.08);
}

.mz-opis .mz-paginacja .is-aktywna {
    border-color: var(--mz-akcent);
    background: var(--mz-akcent);
    color: #fff;
}

.mz-opis .mz-opinie__dodaj {
    padding: 0;
    border: 0;
    background: none;
    cursor: pointer;
    font-family: inherit;
}

.mz-opis .mz-opinie__strona {
    transition: opacity 0.2s;
}

.mz-opis .mz-opinie__strona.is-ladowanie {
    opacity: 0.45;
    pointer-events: none;
}

/* Formularz opinii (rozwijany w sekcji) */

.mz-opis .mz-opinie__formularz {
    max-width: 640px;
    margin: 0 auto 32px;
    padding: 24px;
    border: 1px solid rgba(30, 83, 57, 0.16);
    border-radius: var(--mz-promien);
    background: #fff;
    text-align: left;
}

.mz-opis .mz-opinie__formularz[hidden] {
    display: none;
}

.mz-opis .mz-opinie__pole {
    margin: 0 0 16px;
}

.mz-opis .mz-opinie__etykieta {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 700;
}

.mz-opis .mz-opinie__formularz textarea,
.mz-opis .mz-opinie__formularz input[type="text"],
.mz-opis .mz-opinie__formularz input[type="email"] {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d9d4c8;
    border-radius: 10px;
    background: #fbfaf7;
    font: inherit;
    font-size: 15px;
}

.mz-opis .mz-opinie__formularz textarea:focus,
.mz-opis .mz-opinie__formularz input:focus {
    border-color: var(--mz-akcent);
    outline: 2px solid rgba(30, 83, 57, 0.15);
}

.mz-opis .mz-opinie__dwa {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 14px;
}

/* Wybor gwiazdek: radio w odwrotnej kolejnosci, zeby :hover/:checked podswietlaly gwiazdki w lewo */
.mz-opis .mz-ocena-wybor {
    display: inline-flex;
    flex-direction: row-reverse;
    gap: 4px;
}

.mz-opis .mz-ocena-wybor input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
}

.mz-opis .mz-ocena-wybor label {
    color: #ddd6c8;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    transition: color 0.15s;
}

.mz-opis .mz-ocena-wybor label:hover,
.mz-opis .mz-ocena-wybor label:hover ~ label,
.mz-opis .mz-ocena-wybor input:checked ~ label {
    color: #e0b44c;
}

.mz-opis .mz-ocena-wybor input:focus-visible + label {
    outline: 2px solid var(--mz-akcent);
    outline-offset: 2px;
    border-radius: 4px;
}

/* Zdjecia: wybor w formularzu, miniatury w opiniach, powiekszenie */

.mz-opis .mz-opinie__zdjecia-pole {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.mz-opis .mz-opinie__zdjecia-pole .mz-opinie__etykieta {
    flex-basis: 100%;
    margin-bottom: 0;
}

.mz-opis .mz-opinie__dodaj-zdjecie {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 84px;
    height: 84px;
    border: 1.5px dashed rgba(30, 83, 57, 0.4);
    border-radius: 12px;
    background: #fbfaf7;
    color: var(--mz-akcent);
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    cursor: pointer;
}

.mz-opis .mz-opinie__dodaj-zdjecie[hidden] {
    display: none;
}

.mz-opis .mz-opinie__dodaj-zdjecie:hover {
    background: rgba(30, 83, 57, 0.06);
}

.mz-opis .mz-opinie__dodaj-zdjecie input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.mz-opis .mz-opinie__miniatury {
    display: contents;
}

.mz-opis .mz-opinie__miniatura {
    position: relative;
    width: 84px;
    height: 84px;
}

.mz-opis .mz-opinie__miniatura img {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    object-fit: cover;
}

.mz-opis .mz-opinie__miniatura button {
    position: absolute;
    top: -8px;
    right: -8px;
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #1f1f1f;
    color: #fff;
    font-size: 16px;
    line-height: 26px;
    cursor: pointer;
}

.mz-opis .mz-opinia__zdjecia {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.mz-opis .mz-opinia__zdjecie {
    width: 72px;
    height: 72px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 10px;
    cursor: zoom-in;
}

.mz-opis .mz-opinia__zdjecie img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.2s;
}

.mz-opis .mz-opinia__zdjecie:hover img {
    transform: scale(1.06);
}

.mz-lightbox {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(15, 20, 17, 0.88);
    cursor: zoom-out;
}

.mz-lightbox img {
    max-width: 100%;
    max-height: 100%;
    border-radius: 10px;
    cursor: default;
}

.mz-lightbox__zamknij {
    position: absolute;
    top: 14px;
    right: 18px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 28px;
    line-height: 44px;
    cursor: pointer;
}

.mz-opis .mz-opinie__rodo {
    margin: 0 0 16px;
    color: #7a7a7a;
    font-size: 12px;
    line-height: 1.5;
}

.mz-opis .mz-opinie__rodo a {
    color: inherit;
    text-decoration: underline;
}

.mz-opis .mz-opinie__pulapka {
    position: absolute;
    left: -9999px;
}

.mz-opis .mz-opinie__komunikat {
    margin: 0 0 12px;
    font-size: 14px;
}

.mz-opis .mz-opinie__komunikat:empty {
    display: none;
}

.mz-opis .mz-opinie__komunikat--blad {
    color: #b3261e;
}

.mz-opis .mz-opinie__komunikat--ok {
    color: var(--mz-akcent);
    font-weight: 700;
}

.mz-opis .mz-opinie__akcje {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin: 0;
}

.mz-opis .mz-opinie__akcje .mz-przycisk {
    margin-top: 0;
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

.mz-opis .mz-opinie__akcje .mz-przycisk:disabled {
    opacity: 0.6;
    cursor: wait;
}

.mz-opis .mz-opinie__anuluj {
    padding: 0;
    border: 0;
    background: none;
    color: var(--mz-tekst-2);
    cursor: pointer;
    font: inherit;
    text-decoration: underline;
}

.mz-opis .mz-opinie__pusto .mz-przycisk {
    border: 0;
    cursor: pointer;
    font-family: inherit;
}

@media (max-width: 700px) {
    .mz-opis .mz-opinie__lista {
        grid-template-columns: 1fr;
    }
    .mz-opis .mz-opinie__dwa {
        grid-template-columns: 1fr;
    }
    .mz-opis .mz-opinie__formularz {
        padding: 18px;
    }
}

/* --- Ocena przy cenie (szablony/rating.php): gwiazdki, srednia, liczba, "Zobacz opinie" --- */

.mz-ocena-karta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
    margin: 0 0 14px;
    line-height: 1;
    cursor: pointer;
}

.mz-ocena-karta .mz-gwiazdki {
    position: relative;
    display: inline-block;
    font-size: 19px;
    line-height: 1;
    letter-spacing: 2px;
    white-space: nowrap;
}

.mz-ocena-karta .mz-gwiazdki__tlo {
    color: #ddd6c8;
}

.mz-ocena-karta .mz-gwiazdki__pelne {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden;
    color: #e0b44c;
}

.mz-ocena-karta__srednia {
    color: #1f1f1f;
    font-size: 17px;
    font-weight: 700;
}

.mz-ocena-karta__liczba {
    color: #777;
    font-size: 14px;
}

/* Salient i WooCommerce stylują a.woocommerce-review-link (zerowy padding, line-height), stąd mocniejszy selektor i !important */
.mz-ocena-karta a.mz-ocena-karta__przycisk,
.mz-ocena-karta a.mz-ocena-karta__przycisk:visited {
    display: inline-block !important;
    margin: 0 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: none !important;
    color: var(--nectar-accent-color, #1e5339) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px;
    white-space: nowrap;
    transition: opacity 0.15s;
}

.mz-ocena-karta a.mz-ocena-karta__przycisk:hover {
    opacity: 0.7;
}

.mz-ocena-karta--pusta {
    cursor: default;
}

/* --- Promocja przy cenie (poza .mz-opis: dopisywana przez wtyczke MU do ceny produktu) --- */

.mz-cena {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 14px;
}

.mz-cena ins {
    text-decoration: none;
}

/* Odznaka obok ceny: maly zielony znaczek "-23%" + spokojny tekst oszczednosci, bez duzej pigulki */
.mz-promo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
}

.mz-promo__procent {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px 4px;
    border-radius: 6px;
    background: var(--nectar-accent-color, #1e5339);
    color: #f3d892;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.mz-promo__oszczedzasz {
    color: var(--nectar-accent-color, #1e5339);
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

.mz-omnibus {
    display: block;
    margin-top: 8px;
    color: #6b6b6b;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
}

@media (max-width: 600px) {
    .mz-promo__procent,
    .mz-promo__oszczedzasz {
        font-size: 13px;
    }
}

@media (max-width: 600px) {
    .mz-opis .mz-sekcja {
        padding: 32px 0;
    }
    .mz-opis .mz-sekcja--jasna,
    .mz-opis .mz-sekcja--ciemna {
        padding: 32px 18px;
    }
    .mz-opis .mz-lead {
        font-size: 16px;
    }
}

/* --- Karta produktu: gora strony (tytul, krotki opis, zakup, informacje o wysylce) ---
   Motyw przewodni: "przeszycie" (przerywany scieg) z zestawu do szycia, uzyte tylko w ramce informacji.
   Reszta spokojna: League Spartan, lesna zielen, szalwiowe tlo pomocnicze. */

.single-product .summary {
    --mz-zielen: var(--nectar-accent-color, #1e5339);
    --mz-zielen-ciemna: #143a28;
    --mz-szalwia: #eef3ee;
    --mz-tekst: #22262a;
    --mz-tekst-cichy: #5b665f;
    --mz-linia: rgba(30, 83, 57, 0.14);
}

.mz-ukryty {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
}

/* Tytul: nazwa + podtytul z korzyscia (szablony/title.php) */
.single-product h1.product_title.mz-tytul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 14px !important;
    text-transform: none !important;
}

.single-product .mz-tytul__nazwa {
    color: var(--mz-tekst);
    font-size: 42px;
    font-weight: 700;
    line-height: 1.02;
    letter-spacing: -0.015em;
}

.single-product .mz-tytul__opis {
    max-width: 30ch;
    color: var(--mz-tekst-cichy);
    font-size: 20px;
    font-weight: 400;
    line-height: 1.3;
}

/* Cena: odstep od oceny */
.single-product .summary p.price {
    margin: 6px 0 0 !important;
}

.single-product .summary .mz-omnibus {
    margin-top: 10px;
}

/* Krotki opis jako lista korzysci (filtr woocommerce_short_description) */
.single-product .woocommerce-product-details__short-description {
    margin: 22px 0 !important;
    padding-top: 20px;
    border-top: 1px solid var(--mz-linia);
}

.single-product ul.mz-krotki {
    display: grid;
    gap: 12px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.single-product ul.mz-krotki li {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--mz-tekst);
    font-size: 16px;
    font-weight: 500;
    line-height: 1.35;
    list-style: none !important;
}

.single-product ul.mz-krotki li::before {
    content: none !important;
}

.single-product .mz-krotki__ikona {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: var(--mz-szalwia);
    font-size: 17px;
    line-height: 1;
}

.single-product .mz-krotki__ikona img.emoji {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

/* Przycisk zakupu: wiekszy, zaokraglony jak reszta elementow; ikona koszyka zostaje z motywu */
.single-product .summary form.cart .single_add_to_cart_button {
    min-height: 60px;
    padding: 18px 16px 18px 50px !important;
    border-radius: 14px !important;
    background-color: var(--mz-zielen) !important;
    background-position: 20px 50% !important;
    box-shadow: 0 10px 22px -12px rgba(20, 58, 40, 0.75) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    transition: background-color 0.15s, transform 0.15s;
}

.single-product .summary form.cart .single_add_to_cart_button:hover {
    background-color: var(--mz-zielen-ciemna) !important;
}

.single-product .summary form.cart .single_add_to_cart_button:active {
    transform: translateY(1px);
}

.single-product .summary form.cart .single_add_to_cart_button .price-on-button {
    opacity: 0.85;
}

/* Salient wymusza capitalize ("Kup Teraz"): potrzebny mocniejszy selektor niz powyzej */
html body.single-product .summary form.cart button.single_add_to_cart_button.button {
    text-transform: none !important;
}

.single-product .summary .single_add_to_cart_button:focus-visible,
.single-product .nectar_woocommerce_after_add_to_cart_form a:focus-visible,
.single-product .mz-ocena-karta a:focus-visible {
    outline: 2px solid var(--mz-zielen) !important;
    outline-offset: 3px;
}

/* Zamowienie telefoniczne: spokojny przycisk drugiego rzedu zamiast "lub" i pudelka z cieniem */
.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order {
    display: block;
    margin: 12px 0 0;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order br {
    display: none;
}

/* "lub" miedzy przyciskami: cienka linia z obu stron, zeby bylo jasne, ze to druga droga zamowienia */
.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order .divider {
    display: flex !important;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    margin: 0 0 12px !important;
    color: var(--mz-tekst-cichy) !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order .divider::before,
.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order .divider::after {
    content: "" !important;
    position: static !important;
    flex: 1;
    width: auto !important;
    height: 1px !important;
    margin: 0 !important;
    background: var(--mz-linia) !important;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .alt-order p {
    margin: 0;
    padding: 0;
}

/* Zwykle .btn-call z wlasnego CSS strony ma kolumne, czarna ramke i podskok na hover: stad !important */
.single-product .nectar_woocommerce_after_add_to_cart_form a.btn-call {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: baseline !important;
    justify-content: center !important;
    gap: 4px 10px;
    width: 100%;
    box-sizing: border-box;
    padding: 16px !important;
    border: 1px solid rgba(30, 83, 57, 0.3) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
    color: var(--mz-zielen) !important;
    font-family: "League Spartan", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-decoration: none;
    transform: none !important;
    transition: border-color 0.15s, background-color 0.15s;
}

.single-product .nectar_woocommerce_after_add_to_cart_form a.btn-call:hover {
    border-color: var(--mz-zielen) !important;
    background: var(--mz-szalwia) !important;
}

.single-product .nectar_woocommerce_after_add_to_cart_form a.btn-call .phone-number,
.single-product .nectar_woocommerce_after_add_to_cart_form a.btn-call:hover .phone-number {
    display: inline;
    margin: 0;
    color: var(--mz-tekst-cichy) !important;
    font-size: 15px;
    font-weight: 400;
}

/* Informacje o wysylce i zwrocie: "naszywka" z przerywanym sciegiem */
.single-product .nectar_woocommerce_after_add_to_cart_form .info-section-box {
    margin: 18px 0 16px !important;
    padding: 10px 22px;
    border: 0;
    border-radius: 16px;
    background: var(--mz-szalwia);
    outline: 1.5px dashed rgba(30, 83, 57, 0.38);
    outline-offset: -7px;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row {
    align-items: center;
    gap: 14px;
    padding: 13px 0;
    border-bottom: 1px solid var(--mz-linia) !important;
    cursor: pointer;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row[data-info="return"] {
    border-bottom: 0 !important;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row p:empty,
.single-product .nectar_woocommerce_after_add_to_cart_form .info-row img {
    display: none;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row::before {
    content: "";
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    background: var(--mz-zielen);
    -webkit-mask: var(--mz-ikona) center / contain no-repeat;
    mask: var(--mz-ikona) center / contain no-repeat;
}

.single-product .info-row[data-info="fast-delivery"] {
    --mz-ikona: 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='M2 6h12v10H2zM14 10h4l3 3v3h-7'/%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E");
}

.single-product .info-row[data-info="koszt-wysylki"] {
    --mz-ikona: 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='M3 7.5 12 3l9 4.5v9L12 21l-9-4.5z'/%3E%3Cpath d='M3 7.5 12 12l9-4.5M12 12v9'/%3E%3C/svg%3E");
}

.single-product .info-row[data-info="return"] {
    --mz-ikona: 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='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10h-4'/%3E%3C/svg%3E");
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row > div:not(.mz-info-panel) {
    display: flex;
    flex: 1;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 2px 12px;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-title {
    color: var(--mz-tekst);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-link {
    margin: 0;
    border-bottom: 1px solid currentColor;
    color: var(--mz-zielen);
    font-size: 13px;
    line-height: 1.2;
    text-decoration: none;
}

/* Rozwijane boksy w naszywce (karta.js): tresc dawnego okienka rozwija sie pod wierszem */
.single-product .nectar_woocommerce_after_add_to_cart_form .info-row.mz-info-rozwijany {
    flex-wrap: wrap !important;
    row-gap: 0;
    border-radius: 8px;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row.mz-info-rozwijany > .mz-info-panel {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important;
}

.single-product .nectar_woocommerce_after_add_to_cart_form .info-row.mz-info-rozwijany:focus-visible {
    outline: 2px solid var(--mz-zielen);
    outline-offset: 2px;
}

.single-product .mz-info-rozwijany .info-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-bottom: 0 !important;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.single-product .mz-info-rozwijany .info-link::after {
    content: "";
    width: 6px;
    height: 6px;
    margin-top: -3px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform 0.2s, margin 0.2s;
}

.single-product .mz-info-rozwijany[aria-expanded="true"] .info-link::after {
    margin-top: 4px;
    transform: rotate(-135deg);
}

.single-product .mz-info-panel__tresc .delivery-table,
.single-product .mz-info-panel__tresc .delivery-column,
.single-product .mz-info-panel__tresc .delivery-item {
    box-sizing: border-box;
    width: 100% !important;
    max-width: none !important;
}

.single-product .mz-info-panel__tresc .delivery-column {
    border: 0 !important;
    padding: 0 !important;
}

.single-product .mz-info-panel {
    display: grid;
    flex: 0 0 100%;
    grid-template-rows: 0fr;
    cursor: default;
    transition: grid-template-rows 0.25s ease;
}

.single-product .mz-info-rozwijany[aria-expanded="true"] .mz-info-panel {
    grid-template-rows: 1fr;
}

.single-product .mz-info-panel__srodek {
    min-height: 0;
    overflow: hidden;
}

.single-product .mz-info-panel__tresc {
    margin: 12px 0 2px 36px;
    color: var(--mz-tekst);
    font-size: 14px;
    line-height: 1.5;
}

.single-product .mz-info-panel__tresc h3 {
    display: none; /* tytul powtarza nazwe wiersza */
}

.single-product .mz-info-panel__tresc p {
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 14px;
    line-height: 1.5;
}

.single-product .mz-info-panel__tresc p:empty,
.single-product .mz-info-panel__tresc p:last-child:empty {
    display: none;
}

/* Cennik dostawy (strona koszt-wysylki): proste wiersze zamiast tabeli z okienka */
.single-product .mz-info-panel__tresc .delivery-table {
    display: grid !important;
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    gap: 10px;
}

.single-product .mz-info-panel__tresc .delivery-column h3 {
    display: block;
    margin: 4px 0 6px;
    color: var(--mz-tekst-cichy);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
}

.single-product .mz-info-panel__tresc .delivery-column h3 img,
.single-product .mz-info-panel__tresc .delivery-item img {
    display: none;
}

.single-product .mz-info-panel__tresc .delivery-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 12px;
    border-radius: 10px;
    background: #fff;
    font-size: 14px;
    line-height: 1.3;
}

.single-product .mz-info-panel__tresc .delivery-item + .delivery-item {
    margin-top: 6px;
}

.single-product .mz-info-panel__tresc .delivery-item span {
    color: var(--mz-zielen);
    font-weight: 600;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .single-product .mz-info-panel,
    .single-product .mz-info-rozwijany .info-link::after {
        transition: none;
    }
}

@media (max-width: 690px) {
    .single-product .mz-info-panel__tresc {
        margin-left: 0;
    }
}

@media (max-width: 690px) {
    .single-product .mz-tytul__nazwa {
        font-size: 34px;
    }
    .single-product .mz-tytul__opis {
        font-size: 18px;
    }
    .single-product .nectar_woocommerce_after_add_to_cart_form .info-section-box {
        padding: 8px 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .single-product .summary form.cart .single_add_to_cart_button,
    .single-product .nectar_woocommerce_after_add_to_cart_form a.btn-call {
        transition: none;
    }
}

/* --- Wybor koloru (wtyczka Variation Swatches): kafelki z probka koloru ---
   Dotyczy atrybutu "Kolor" z wyjatkiem Srebrny/Zloty (Lumio: osobny styl w CSS Salienta).
   Probka koloru po klasie wtyczki button-variable-item-<slug>; nieznany kolor = kafelek bez probki. */
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    margin: 10px 0 4px !important;
    padding: 0 !important;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) > li.variable-item {
    position: relative;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1.5px solid #d5ded6 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) > li.variable-item:hover {
    border-color: rgba(30, 83, 57, 0.45) !important;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) > li.variable-item.selected {
    border-color: var(--nectar-accent-color, #1e5339) !important;
    background: #eef3ee !important;
    box-shadow: 0 0 0 1px var(--nectar-accent-color, #1e5339) !important;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) > li.variable-item:focus-visible {
    outline: 2px solid var(--nectar-accent-color, #1e5339);
    outline-offset: 2px;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) .variable-item-contents {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: auto !important;
    padding: 12px 6px 10px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    overflow: visible;
}
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) .variable-item-span {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 0 !important;
    font-family: 'League Spartan', sans-serif;
    font-size: 14px !important;
    line-height: 1.2;
    font-weight: 600;
    color: #1f2a24;
    text-transform: none;
    letter-spacing: 0;
}
/* probka koloru nad nazwa */
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-bialy .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-czarny .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-czerwony .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-zielony .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-niebieski .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-szary .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-rozowy .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-bezowy .variable-item-span::before,
html body.single-product ul[data-attribute_name="attribute_kolor"] > li.button-variable-item-kremowy .variable-item-span::before {
    content: '';
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--mz-probka, #ccc);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(0, 0, 0, 0.12);
}
html body.single-product li.button-variable-item-bialy { --mz-probka: #ffffff; }
html body.single-product li.button-variable-item-czarny { --mz-probka: #1d1d1d; }
html body.single-product li.button-variable-item-czerwony { --mz-probka: #b3261e; }
html body.single-product li.button-variable-item-zielony { --mz-probka: #1e5339; }
html body.single-product li.button-variable-item-niebieski { --mz-probka: #2a5ca8; }
html body.single-product li.button-variable-item-szary { --mz-probka: #9aa19c; }
html body.single-product li.button-variable-item-rozowy { --mz-probka: #e7a3b5; }
html body.single-product li.button-variable-item-bezowy { --mz-probka: #d8c3a5; }
html body.single-product li.button-variable-item-kremowy { --mz-probka: #f3ead7; }
/* stara kropka wyboru z CSS Salienta: zastapiona znaczkiem w rogu */
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) .variable-item-contents::before {
    content: none !important;
    display: none !important;
}
/* znaczek wybranego koloru */
html body.single-product ul[data-attribute_name="attribute_kolor"]:not(:has(.button-variable-item-srebrny, .button-variable-item-zloty)) > li.variable-item.selected::after {
    content: '' !important;
    display: block !important;
    position: absolute;
    top: 6px;
    right: 6px;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: var(--nectar-accent-color, #1e5339) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat;
    border: 0 !important;
    transform: none !important;
    opacity: 1 !important;
}
@media (prefers-reduced-motion: reduce) {
    html body.single-product ul[data-attribute_name="attribute_kolor"] > li.variable-item {
        transition: none;
    }
}